public object Resolve(string name) { if (string.IsNullOrWhiteSpace(name)) { throw new ArgumentNullException("name"); } var args = new ServiceResolvingEventArgs(name); //激发“Resolving”事件 this.OnResolving(args); if (args.Cancel) { return(args.Result); } object result = null; var entry = _storage.Get(name); if (entry != null) { result = this.GetService(entry); } //激发“Resolved”事件 this.OnResolved(new ServiceResolvedEventArgs(name, result)); //返回解析的结果 return(result); }
public Type GetServiceType(string name) { if (string.IsNullOrWhiteSpace(name)) { throw new ArgumentNullException("name"); } var entry = _storage.Get(name); return(entry == null ? null : entry.ServiceType); }