diff --git a/src/Generator/AST/Utils.cs b/src/Generator/AST/Utils.cs index afc66e83..e6a8d7f8 100644 --- a/src/Generator/AST/Utils.cs +++ b/src/Generator/AST/Utils.cs @@ -60,15 +60,15 @@ namespace CppSharp.AST return false; } - public static bool CheckIgnoreField(Field field) + public static bool CheckIgnoreField(Field field, bool useInternals = false) { if (field.Access == AccessSpecifier.Private) return true; if (field.Class.IsValueType && field.IsDeclared) - return false; - - return !field.IsGenerated; + return false; + + return !field.IsGenerated && (!useInternals || !field.IsInternal); } public static bool CheckIgnoreProperty(Property prop) diff --git a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs index e6bb674c..ea0e9e73 100644 --- a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs +++ b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs @@ -222,7 +222,7 @@ namespace CppSharp.Generators.CSharp // Generate all the internal function declarations. foreach (var function in context.Functions) - { + { if (!function.IsInternal) continue; GenerateInternalFunction(function); @@ -760,8 +760,8 @@ namespace CppSharp.Generators.CSharp } foreach (var field in @class.Fields) - { - if (!nativeFields && ASTUtils.CheckIgnoreField(field)) continue; + { + if (ASTUtils.CheckIgnoreField(field, nativeFields)) continue; action(field); } }