[{"title":"( 42 个子文件 34KB ) EventAggregator:EventAggregator模式的类型安全的C#实现","children":[{"title":"EventAggregator-master","children":[{"title":".gitignore <span style='color:#111;'> 2.10KB </span>","children":null,"spread":false},{"title":"EventAggregator.Tests","children":[{"title":"EventAggregatorFixture.cs <span style='color:#111;'> 22.29KB </span>","children":null,"spread":false},{"title":"EventBaseFixture.cs <span style='color:#111;'> 1.52KB </span>","children":null,"spread":false},{"title":"EventAggregator.Tests.csproj <span style='color:#111;'> 1.09KB </span>","children":null,"spread":false},{"title":"SubscriptionFixture.cs <span style='color:#111;'> 17.36KB </span>","children":null,"spread":false},{"title":"TestClasses","children":[{"title":"OtherTestEvent.cs <span style='color:#111;'> 158B </span>","children":null,"spread":false},{"title":"DataChangingEvent.cs <span style='color:#111;'> 516B </span>","children":null,"spread":false},{"title":"CancellableEvent.cs <span style='color:#111;'> 170B </span>","children":null,"spread":false},{"title":"ICancellableEvent.cs <span style='color:#111;'> 134B </span>","children":null,"spread":false},{"title":"TestSynchronizationContext.cs <span style='color:#111;'> 728B </span>","children":null,"spread":false},{"title":"TestEvent.cs <span style='color:#111;'> 368B </span>","children":null,"spread":false}],"spread":true},{"title":".config","children":[{"title":"dotnet-tools.json <span style='color:#111;'> 164B </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"CODEOWNERS <span style='color:#111;'> 21B </span>","children":null,"spread":false},{"title":"EventAggregator.sln.DotSettings.user <span style='color:#111;'> 950B </span>","children":null,"spread":false},{"title":"EventAggregator.Sample","children":[{"title":"Program.cs <span style='color:#111;'> 1.85KB </span>","children":null,"spread":false},{"title":"SampleService.cs <span style='color:#111;'> 4.00KB </span>","children":null,"spread":false},{"title":"Events","children":[{"title":"UserSendMessageEvent.cs <span style='color:#111;'> 415B </span>","children":null,"spread":false},{"title":"UserConnectedEvent.cs <span style='color:#111;'> 307B </span>","children":null,"spread":false},{"title":"UserPermissionRequestEvent.cs <span style='color:#111;'> 414B </span>","children":null,"spread":false},{"title":"UserPurchaseItemEvent.cs <span style='color:#111;'> 567B </span>","children":null,"spread":false},{"title":"NotificationEvent.cs <span style='color:#111;'> 291B </span>","children":null,"spread":false}],"spread":true},{"title":"EventAggregator.Sample.csproj <span style='color:#111;'> 766B </span>","children":null,"spread":false}],"spread":true},{"title":"EventAggregator","children":[{"title":"EventAggregator.csproj <span style='color:#111;'> 1.82KB </span>","children":null,"spread":false},{"title":"Elements","children":[{"title":"Subscription.cs <span style='color:#111;'> 7.40KB </span>","children":null,"spread":false},{"title":"CancellableEventBase.cs <span style='color:#111;'> 394B </span>","children":null,"spread":false},{"title":"EventBase.cs <span style='color:#111;'> 495B </span>","children":null,"spread":false}],"spread":true},{"title":"Interfaces","children":[{"title":"IInternalSubscription.cs <span style='color:#111;'> 630B </span>","children":null,"spread":false},{"title":"IEventAggregator.cs <span style='color:#111;'> 5.36KB </span>","children":null,"spread":false},{"title":"IEvent.cs <span style='color:#111;'> 435B </span>","children":null,"spread":false},{"title":"ISubscription.cs <span style='color:#111;'> 922B </span>","children":null,"spread":false},{"title":"ICancellableEvent.cs <span style='color:#111;'> 501B </span>","children":null,"spread":false},{"title":"IDataChangingEvent.cs <span style='color:#111;'> 298B </span>","children":null,"spread":false}],"spread":true},{"title":"Services","children":[{"title":"EventAggregatorService.cs <span style='color:#111;'> 7.59KB </span>","children":null,"spread":false}],"spread":true},{"title":"EventAggregatorErrors.cs <span style='color:#111;'> 473B </span>","children":null,"spread":false},{"title":"stylecop.json <span style='color:#111;'> 825B </span>","children":null,"spread":false},{"title":"EventAggregator.ruleset <span style='color:#111;'> 553B </span>","children":null,"spread":false},{"title":"ThreadTarget.cs <span style='color:#111;'> 992B </span>","children":null,"spread":false},{"title":"EventPriority.cs <span style='color:#111;'> 1.09KB </span>","children":null,"spread":false}],"spread":true},{"title":"LICENSE <span style='color:#111;'> 1.04KB </span>","children":null,"spread":false},{"title":"EventAggregator.sln <span style='color:#111;'> 1.78KB </span>","children":null,"spread":false},{"title":".github","children":[{"title":"workflows","children":[{"title":"dotnetcore.yml <span style='color:#111;'> 2.90KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"README.md <span style='color:#111;'> 3.60KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]