Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CallStringMethod< TArg1, TArg2, TArg3 >()

static bool Interop.CallStringMethod< TArg1, TArg2, TArg3 > ( SpanFunc< char, TArg1, TArg2, TArg3, Globalization::ResultCode > interopCall,
TArg1 arg1,
TArg2 arg2,
TArg3 arg3,
out string result )
inlinestaticpackage

Definition at line 1850 of file Interop.cs.

1851 {
1852 Span<char> span = stackalloc char[256];
1853 switch (interopCall(span, arg1, arg2, arg3))
1854 {
1855 case Globalization.ResultCode.Success:
1856 result = span.Slice(0, span.IndexOf('\0')).ToString();
1857 return true;
1858 case Globalization.ResultCode.InsufficentBuffer:
1859 span = new char[1280];
1860 if (interopCall(span, arg1, arg2, arg3) == Globalization.ResultCode.Success)
1861 {
1862 result = span.Slice(0, span.IndexOf('\0')).ToString();
1863 return true;
1864 }
1865 break;
1866 }
1867 result = null;
1868 return false;
1869 }
Span< T > Slice(int start)
Definition Span.cs:271

References System.Span< T >.Slice().