diff --git a/src/Generator/Generators/CLI/CLIMarshal.cs b/src/Generator/Generators/CLI/CLIMarshal.cs index cac26b20..2f02bebf 100644 --- a/src/Generator/Generators/CLI/CLIMarshal.cs +++ b/src/Generator/Generators/CLI/CLIMarshal.cs @@ -433,10 +433,12 @@ namespace Cxxi.Generators.CLI && method.Conversion == MethodConversionKind.FunctionToInstanceMethod && Context.ParameterIndex == 0) { + Return.Write("(::{0}*)", @class.QualifiedOriginalName); Return.Write("NativePtr"); return; } + Return.Write("(::{0}*)", @class.QualifiedOriginalName); Return.Write("{0}->NativePtr", Context.Parameter.Name); } diff --git a/src/Generator/Generators/CLI/CLISourcesTemplate.cs b/src/Generator/Generators/CLI/CLISourcesTemplate.cs index a25bb4d4..89927c0a 100644 --- a/src/Generator/Generators/CLI/CLISourcesTemplate.cs +++ b/src/Generator/Generators/CLI/CLISourcesTemplate.cs @@ -312,7 +312,14 @@ namespace Cxxi.Generators.CLI } else { - Write(IsInstanceFunction(function) ? "NativePtr->" : "::"); + if (IsInstanceFunction(function)) + { + Write("((::{0}*)NativePtr)->", @class.QualifiedOriginalName); + } + else + { + Write("::"); + } Write("{0}(", function.QualifiedOriginalName); GenerateFunctionParams(function, @params);