@@ -16,11 +16,11 @@ public partial class Test_IRecipientGenerator
16
16
[ TestMethod ]
17
17
public void Test_IRecipientGenerator_GeneratedRegistration ( )
18
18
{
19
- StrongReferenceMessenger ? messenger = new ( ) ;
20
- RecipientWithSomeMessages ? recipient = new ( ) ;
19
+ StrongReferenceMessenger messenger = new ( ) ;
20
+ RecipientWithSomeMessages recipient = new ( ) ;
21
21
22
- MessageA ? messageA = new ( ) ;
23
- MessageB ? messageB = new ( ) ;
22
+ MessageA messageA = new ( ) ;
23
+ MessageB messageB = new ( ) ;
24
24
25
25
Action < IMessenger , object , int > registrator = Messaging . __Internals . __IMessengerExtensions . CreateAllMessagesRegistratorWithToken < int > ( recipient ) ;
26
26
@@ -43,6 +43,15 @@ public void Test_IRecipientGenerator_GeneratedRegistration()
43
43
Assert . AreSame ( recipient . B , messageB ) ;
44
44
}
45
45
46
+ [ TestMethod ]
47
+ public void Test_IRecipientGenerator_TypeWithMultipleClassDeclarations ( )
48
+ {
49
+ RecipientWithMultipleClassDeclarations recipient = new ( ) ;
50
+
51
+ // This test really just needs to verify this compiles and executes normally
52
+ _ = Messaging . __Internals . __IMessengerExtensions . CreateAllMessagesRegistratorWithToken < int > ( recipient ) ;
53
+ }
54
+
46
55
public sealed class RecipientWithSomeMessages :
47
56
IRecipient < MessageA > ,
48
57
IRecipient < MessageB >
@@ -69,4 +78,17 @@ public sealed class MessageA
69
78
public sealed class MessageB
70
79
{
71
80
}
81
+
82
+ public sealed partial class RecipientWithMultipleClassDeclarations : IRecipient < MessageA >
83
+ {
84
+ public void Receive ( MessageA message )
85
+ {
86
+ }
87
+ }
88
+
89
+ // This empty partial type declarations needs to be present to ensure the generator
90
+ // correctly handles cases where the source type has multiple class declarations.
91
+ partial class RecipientWithMultipleClassDeclarations
92
+ {
93
+ }
72
94
}
0 commit comments