From b3d46e38d794339d57a0e9db6ede34d97e21a23d Mon Sep 17 00:00:00 2001 From: Dimitar Dobrev Date: Sun, 12 Jun 2016 00:30:27 +0300 Subject: [PATCH] Made wrappers of private classes public because of access by dependencies. The correct way to fix this is, for C#, by using InternalsVisibleToAttribute. Signed-off-by: Dimitar Dobrev --- src/Generator/Generators/CSharp/CSharpTextTemplate.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs index 2ffa7226..00bd49f1 100644 --- a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs +++ b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs @@ -725,7 +725,9 @@ namespace CppSharp.Generators.CSharp public void GenerateClassProlog(Class @class) { - Write(@class.IsInternal ? "internal " : Helpers.GetAccess(@class.Access)); + // private classes must be visible to because the internal structs can be used in dependencies + // the proper fix is InternalsVisibleTo + Write(@class.Access == AccessSpecifier.Protected ? "protected " : "public "); if (@class.Access == AccessSpecifier.Protected) Write("internal "); Write("unsafe ");