Ejemplo n.º 1
0
        private SmartServiceDescriptor OnDependencyRegistering(SmartServiceDescriptor serviceDescriptor)
        {
            DependencySetupEventArgs args = new DependencySetupEventArgs(serviceDescriptor);

            ShellEvents.NotifyDependencyRegistering(_options, args);
            var newDesc = args.ActualDependency ?? args.OriginalDependency;

            return(Object.ReferenceEquals(newDesc, serviceDescriptor) ? serviceDescriptor : SmartServiceDescriptor.Create(newDesc, serviceDescriptor.Options));
        }
Ejemplo n.º 2
0
 private static void ShellEvents_DependencyRegistering(SchubertOptions option, DependencySetupEventArgs eventArgs)
 {
     //这里捞出要注册的服务。
     if (TryGetRemoteService(eventArgs.ActualDependency, option, out RemoteServiceAttribute remoteAttribute))
     {
         _serviceExports.Add(new SwiftyServiceDescriptor(eventArgs.ActualDependency.ServiceType, remoteAttribute.Version.IfNullOrWhiteSpace("1.0.0")));
     }
 }