diff --git a/src/Generator/Driver.cs b/src/Generator/Driver.cs index 53d61e9b..9e21cab7 100644 --- a/src/Generator/Driver.cs +++ b/src/Generator/Driver.cs @@ -181,6 +181,7 @@ namespace Cxxi GenerateLibraryNamespace = true; GenerateFunctionTemplates = false; WriteOnlyWhenChanged = false; + GeneratePartialClasses = true; var platform = Environment.OSVersion.Platform; Abi = (platform == PlatformID.Unix || platform == PlatformID.MacOSX) ? @@ -196,6 +197,7 @@ namespace Cxxi public bool OutputInteropIncludes = true; public bool GenerateLibraryNamespace; public bool GenerateFunctionTemplates; + public bool GeneratePartialClasses; public string OutputNamespace; public string OutputDir; public string LibraryName; diff --git a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs index 14c91e82..a6a0bb2c 100644 --- a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs +++ b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs @@ -372,6 +372,9 @@ namespace Cxxi.Generators.CSharp if (@class.IsAbstract) Write("abstract "); + if (Options.GeneratePartialClasses) + Write("partial "); + Write(@class.IsValueType ? "struct " : "class "); Write("{0}", SafeIdentifier(@class.Name));