From ef5dcc505f2014e4deaba35722351b89b4215efc Mon Sep 17 00:00:00 2001 From: triton Date: Sun, 26 May 2013 18:16:19 +0100 Subject: [PATCH] Generate helper constructors that take the native version of the class/struct. --- .../Generators/CSharp/CSharpTextTemplate.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs index 955ed7aa..7b083292 100644 --- a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs +++ b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs @@ -993,6 +993,20 @@ namespace CppSharp.Generators.CSharp private void GenerateNativeConstructor(Class @class) { + WriteLine("internal {0}({1}.Internal* native)", SafeIdentifier(@class.Name), + @class.Name); + WriteLineIndent(": this(new System.IntPtr(native))"); + WriteStartBraceIndent(); + WriteCloseBraceIndent(); + NewLine(); + + WriteLine("internal {0}({1}.Internal native)", SafeIdentifier(@class.Name), + @class.Name); + WriteLineIndent(": this(&native)"); + WriteStartBraceIndent(); + WriteCloseBraceIndent(); + NewLine(); + WriteLine("internal {0}(System.IntPtr native)", SafeIdentifier(@class.Name)); var hasBaseClass = @class.HasBaseClass && @class.BaseClass.IsRefType;