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

◆ PtrToStructure<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors|DynamicallyAccessedMemberTypes.NonPublicConstructors)] T >()

static ? T System.Runtime.InteropServices.Marshal.PtrToStructure<[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors|DynamicallyAccessedMemberTypes.NonPublicConstructors)] T > ( IntPtr ptr)
inlinestatic

Definition at line 1197 of file Marshal.cs.

1198 {
1199 if (ptr == IntPtr.Zero)
1200 {
1201 return (T)(object)null;
1202 }
1203 Type typeFromHandle = typeof(T);
1204 if (typeFromHandle.IsGenericType)
1205 {
1206 throw new ArgumentException(SR.Argument_NeedNonGenericType, "T");
1207 }
1208 object obj = Activator.CreateInstance(typeFromHandle, nonPublic: true);
1209 PtrToStructureHelper(ptr, obj, allowValueClasses: true);
1210 return (T)obj;
1211 }
static void PtrToStructureHelper(IntPtr ptr, object structure, bool allowValueClasses)

References System.SR.Argument_NeedNonGenericType, System.Activator.CreateInstance(), System.Type.IsGenericType, System.obj, System.Runtime.InteropServices.Marshal.PtrToStructureHelper(), and System.IntPtr.Zero.