diff --git a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs index e00057cb..26840193 100644 --- a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs +++ b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs @@ -370,7 +370,11 @@ namespace CppSharp.Generators.CSharp PopBlock(NewLineKind.BeforeNextBlock); } - GenerateClassMarshals(@class); + if (Options.GenerateClassMarshals) + { + GenerateClassMarshals(@class); + } + GenerateClassConstructors(@class); if (@class.IsUnion) @@ -776,7 +780,10 @@ namespace CppSharp.Generators.CSharp if (@class.IsRefType) bases.Add("IDisposable"); - bases.Add("CppSharp.Runtime.ICppMarshal"); + if (Options.GenerateClassMarshals) + { + bases.Add("CppSharp.Runtime.ICppMarshal"); + } if (bases.Count > 0) Write(" : {0}", string.Join(", ", bases)); diff --git a/src/Generator/Options.cs b/src/Generator/Options.cs index 21b4b582..80620517 100644 --- a/src/Generator/Options.cs +++ b/src/Generator/Options.cs @@ -37,6 +37,7 @@ namespace CppSharp GeneratorKind = GeneratorKind.CSharp; GenerateLibraryNamespace = true; GeneratePartialClasses = true; + GenerateClassMarshals = false; OutputInteropIncludes = true; MaxIndent = 80; CommentPrefix = "///"; @@ -94,6 +95,7 @@ namespace CppSharp public bool GenerateInterfacesForMultipleInheritance; public bool GenerateProperties; public bool GenerateInternalImports; + public bool GenerateClassMarshals; /// /// Enable this option to enable generation of finalizers.