diff --git a/src/Generator/Generators/CLI/CLIHeadersTemplate.cs b/src/Generator/Generators/CLI/CLIHeadersTemplate.cs index ef0fbfa1..7553672e 100644 --- a/src/Generator/Generators/CLI/CLIHeadersTemplate.cs +++ b/src/Generator/Generators/CLI/CLIHeadersTemplate.cs @@ -198,20 +198,21 @@ namespace Cxxi.Generators.CLI WriteLine("{"); WriteLine("public:"); - if (!@class.IsValueType) + var nativeType = string.Format("::{0}*", @class.OriginalName); + + if (@class.IsRefType) { PushIndent(); - var nativeType = string.Format("::{0}*", @class.OriginalName); WriteLine("property {0} NativePtr;", nativeType); PopIndent(); NewLine(); - - // Output a default constructor that takes the native pointer. - PushIndent(); - WriteLine("{0}({1} native);", SafeIdentifier(@class.Name), nativeType); - PopIndent(); } + // Output a default constructor that takes the native pointer. + PushIndent(); + WriteLine("{0}({1} native);", SafeIdentifier(@class.Name), nativeType); + PopIndent(); + if (@class.IsValueType) { PushIndent();