diff --git a/src/Generator/Generators/CSharp/CSharpTypePrinter.cs b/src/Generator/Generators/CSharp/CSharpTypePrinter.cs index b2a773b5..a0589563 100644 --- a/src/Generator/Generators/CSharp/CSharpTypePrinter.cs +++ b/src/Generator/Generators/CSharp/CSharpTypePrinter.cs @@ -36,6 +36,8 @@ namespace Cxxi.Generators.CSharp get { return contexts.Peek(); } } + public CSharpTypePrinterContext Context; + public CSharpTypePrinter(ITypeMapDatabase database, Library library) { TypeMapDatabase = database; @@ -43,6 +45,8 @@ namespace Cxxi.Generators.CSharp contexts = new Stack(); PushContext(CSharpTypePrinterContextKind.Managed); + + Context = new CSharpTypePrinterContext(); } public void PushContext(CSharpTypePrinterContextKind contextKind) @@ -169,7 +173,8 @@ namespace Cxxi.Generators.CSharp { typeMap.Declaration = decl; typeMap.Type = template; - return typeMap.CSharpSignature(new CSharpTypePrinterContext()); + Context.Type = template; + return typeMap.CSharpSignature(Context); } return decl.Name;