diff --git a/src/Generator/Generators/CSharp/CSharpSources.cs b/src/Generator/Generators/CSharp/CSharpSources.cs index 6e57d2f3..077bff16 100644 --- a/src/Generator/Generators/CSharp/CSharpSources.cs +++ b/src/Generator/Generators/CSharp/CSharpSources.cs @@ -1018,10 +1018,10 @@ internal static bool {Helpers.TryGetNativeToManagedMappingIdentifier}(IntPtr nat { var fieldName = ((Class)field.Namespace).Layout.Fields.First( f => f.FieldPtr == field.OriginalPtr).Name; - WriteLine($"var dest = new __IntPtr(&((__Internal*)__Instance)->{fieldName});"); + var typeName = TypePrinter.PrintNative(@class); + WriteLine($"var dest = new __IntPtr(&(({typeName}*)__Instance)->{fieldName});"); WriteLine($"var src = value.{Helpers.InstanceIdentifier};"); - var typeName = TypePrinter.PrintNative(fieldClass); if (IsInternalClassNested(fieldClass)) typeName.RemoveNamespace();