File tree Expand file tree Collapse file tree 5 files changed +85
-10
lines changed
Castle.Core.Tests/DynamicProxy.Tests
Castle.Core/DynamicProxy/Generators Expand file tree Collapse file tree 5 files changed +85
-10
lines changed Original file line number Diff line number Diff line change 11# Castle Core Changelog
22
3+ ## Unreleased
4+
5+ Bugfixes:
6+ - DynamicProxy emits invalid metadata for redeclared event (@stakx , #590 )
7+
38## 5.0.0 (2022-05-11)
49
510Enhancements:
Original file line number Diff line number Diff line change 1+ // Copyright 2004-2022 Castle Project - http://www.castleproject.org/
2+ //
3+ // Licensed under the Apache License, Version 2.0 (the "License");
4+ // you may not use this file except in compliance with the License.
5+ // You may obtain a copy of the License at
6+ //
7+ // http://www.apache.org/licenses/LICENSE-2.0
8+ //
9+ // Unless required by applicable law or agreed to in writing, software
10+ // distributed under the License is distributed on an "AS IS" BASIS,
11+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+ // See the License for the specific language governing permissions and
13+ // limitations under the License.
14+
15+ namespace Castle . DynamicProxy . Tests
16+ {
17+ using System ;
18+
19+ using NUnit . Framework ;
20+
21+ [ TestFixture ]
22+ public class ExplicitlyImplementedEventTestCase : BasePEVerifyTestCase
23+ {
24+ [ Test ]
25+ public void Can_proxy_type_having_two_identically_named_events_with_different_signatures ( )
26+ {
27+ _ = generator . CreateInterfaceProxyWithoutTarget < IDerived > ( ) ;
28+ }
29+
30+ public interface IBase
31+ {
32+ event Action Event ;
33+ }
34+
35+ public interface IDerived : IBase
36+ {
37+ new event Action < bool > Event ;
38+ }
39+ }
40+ }
Original file line number Diff line number Diff line change 1+ // Copyright 2004-2022 Castle Project - http://www.castleproject.org/
2+ //
3+ // Licensed under the Apache License, Version 2.0 (the "License");
4+ // you may not use this file except in compliance with the License.
5+ // You may obtain a copy of the License at
6+ //
7+ // http://www.apache.org/licenses/LICENSE-2.0
8+ //
9+ // Unless required by applicable law or agreed to in writing, software
10+ // distributed under the License is distributed on an "AS IS" BASIS,
11+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+ // See the License for the specific language governing permissions and
13+ // limitations under the License.
14+
15+ namespace Castle . DynamicProxy . Tests
16+ {
17+ using System ;
18+
19+ using NUnit . Framework ;
20+
21+ [ TestFixture ]
22+ public class ExplicitlyImplementedPropertyTestCase : BasePEVerifyTestCase
23+ {
24+ [ Test ]
25+ public void Can_proxy_type_having_two_identically_named_properties_with_different_signatures ( )
26+ {
27+ _ = generator . CreateInterfaceProxyWithoutTarget < IDerived > ( ) ;
28+ }
29+
30+ public interface IBase
31+ {
32+ Action Property { get ; }
33+ }
34+
35+ public interface IDerived : IBase
36+ {
37+ new Action < bool > Property { get ; }
38+ }
39+ }
40+ }
Original file line number Diff line number Diff line change @@ -128,11 +128,6 @@ public bool Equals(MetaEvent other)
128128 return true ;
129129 }
130130
131- if ( ! Type . Equals ( other . Type ) )
132- {
133- return false ;
134- }
135-
136131 if ( ! StringComparer . OrdinalIgnoreCase . Equals ( Name , other . Name ) )
137132 {
138133 return false ;
Original file line number Diff line number Diff line change @@ -159,11 +159,6 @@ public bool Equals(MetaProperty other)
159159 return true ;
160160 }
161161
162- if ( ! Type . Equals ( other . Type ) )
163- {
164- return false ;
165- }
166-
167162 if ( ! StringComparer . OrdinalIgnoreCase . Equals ( Name , other . Name ) )
168163 {
169164 return false ;
You can’t perform that action at this time.
0 commit comments