diff --git a/src-examples/ProxyInterfaceConsumer/Address.cs b/src-examples/ProxyInterfaceConsumer/Address.cs index 71395f3..f440fc2 100644 --- a/src-examples/ProxyInterfaceConsumer/Address.cs +++ b/src-examples/ProxyInterfaceConsumer/Address.cs @@ -8,5 +8,9 @@ namespace ProxyInterfaceConsumer public event EventHandler MyEvent; public int Weird { get; set; } + public int Weird2() + { + return 0; + } } } \ No newline at end of file diff --git a/src/ProxyInterfaceSourceGenerator/Utils/MemberHelper.cs b/src/ProxyInterfaceSourceGenerator/Utils/MemberHelper.cs index 7498d39..00cce5c 100644 --- a/src/ProxyInterfaceSourceGenerator/Utils/MemberHelper.cs +++ b/src/ProxyInterfaceSourceGenerator/Utils/MemberHelper.cs @@ -86,7 +86,9 @@ internal static class MemberHelper var membersQuery = classSymbol.Symbol.GetMembers().OfType() .Where(m => m.DeclaredAccessibility == Accessibility.Public); - foreach (var filter in filters) + var f = filters.ToList(); + f.Add(x => !proxyData.MembersToIgnore.Contains(x.Name)); + foreach (var filter in f) { membersQuery = membersQuery.Where(filter); } diff --git a/tests/ProxyInterfaceSourceGeneratorTests/ProxyInterfaceSourceGeneratorTest.GenerateFiles_ForClassWithIgnores.verified.txt b/tests/ProxyInterfaceSourceGeneratorTests/ProxyInterfaceSourceGeneratorTest.GenerateFiles_ForClassWithIgnores.verified.txt index a78d037..c2b7afe 100644 --- a/tests/ProxyInterfaceSourceGeneratorTests/ProxyInterfaceSourceGeneratorTest.GenerateFiles_ForClassWithIgnores.verified.txt +++ b/tests/ProxyInterfaceSourceGeneratorTests/ProxyInterfaceSourceGeneratorTest.GenerateFiles_ForClassWithIgnores.verified.txt @@ -81,6 +81,8 @@ namespace ProxyInterfaceSourceGeneratorTests.Source global::ProxyInterfaceSourceGeneratorTests.Source.IFoo2[] Foos { get; set; } global::ProxyInterfaceSourceGeneratorTests.Source.IFoo2[] DoSomethingAndGetAnArrayOfFoos(); + + int Weird2(); } } #nullable restore @@ -114,6 +116,12 @@ namespace ProxyInterfaceSourceGeneratorTests.Source return Mapster.TypeAdapter.Adapt(result_1603865878); } + public int Weird2() + { + var result__1602200929 = _Instance.Weird2(); + return result__1602200929; + } + public Foo2Proxy(global::ProxyInterfaceSourceGeneratorTests.Source.Foo2 instance) { diff --git a/tests/ProxyInterfaceSourceGeneratorTests/ProxyInterfaceSourceGeneratorTest.cs b/tests/ProxyInterfaceSourceGeneratorTests/ProxyInterfaceSourceGeneratorTest.cs index bb9f9b1..79d4467 100644 --- a/tests/ProxyInterfaceSourceGeneratorTests/ProxyInterfaceSourceGeneratorTest.cs +++ b/tests/ProxyInterfaceSourceGeneratorTests/ProxyInterfaceSourceGeneratorTest.cs @@ -108,7 +108,7 @@ public class ProxyInterfaceSourceGeneratorTest ArgumentList = new [] { "typeof(ProxyInterfaceSourceGeneratorTests.Source.Foo2)", "false", "ProxyClassAccessibility.Public", - "new []{\"Weird\"}" + "new []{\"Weird\",\"NotHere\"}" } } }; diff --git a/tests/ProxyInterfaceSourceGeneratorTests/Source/Foo2.cs b/tests/ProxyInterfaceSourceGeneratorTests/Source/Foo2.cs index 6d316de..01dfeb8 100644 --- a/tests/ProxyInterfaceSourceGeneratorTests/Source/Foo2.cs +++ b/tests/ProxyInterfaceSourceGeneratorTests/Source/Foo2.cs @@ -23,6 +23,11 @@ public class Foo2 { return new[] { new Foo2() }; } + public int Weird { get; set; } + public int Weird2() + { + return 0; + } //public List DoSomethingAndGetAListOfFoos() //{