public IDataProvider GetProviderOrNull(Type type) { if (TypeProviders.TryGetValue(type, out var result)) { return(result); } var factory = GetProviderFactory(type); if (factory != null) { lock (TypeProviders) { try { return(TypeProviders[type] = factory.GetProvider(type)); } catch { return(null); } } } if (type.IsInterface) { return(new InterfaceDataProvider(type)); } else { return(null); } }
public IDataProvider GetProvider(Type type) { if (TypeProviders.TryGetValue(type, out var result)) { return(result); } var factory = GetProviderFactory(type); if (factory != null) { lock (TypeProviders) return(TypeProviders[type] = factory.GetProvider(type)); } if (type.IsInterface) { return(new InterfaceDataProvider(type)); } else { throw new InvalidOperationException("There is no registered 'data provider' for the assembly: " + type.GetTypeInfo().Assembly.FullName); } }
public PianteView(Settore settore) { InitializeComponent(); _settore = settore; _fac = FactoryGestoreInformazioni.GetFactory(); _type = new TypeProviders(); }
private void Form1_Load(object sender, EventArgs e) { fac = FactoryGestoreInformazioni.GetFactory(); type = new TypeProviders(); ProviderVisitorInspector insp = ProviderVisitorInspector.Get() ; comboBox1.Items.AddRange(insp.GetListProvider().ToArray()); comboBox2.Items.AddRange(insp.GetListVisitor().ToArray()); }
private void Form1_Load(object sender, EventArgs e) { fac = FactoryGestoreInformazioni.GetFactory(); type = new TypeProviders(); ProviderVisitorInspector insp = ProviderVisitorInspector.Get(); comboBox1.Items.AddRange(insp.GetListProvider().ToArray()); comboBox2.Items.AddRange(insp.GetListVisitor().ToArray()); }
//invocata dopo provider e gestinfo public GestoreInformazioni GetGestore(TypeProviders typeproviders) { Providers providers = typeproviders.GetProviders(); foreach (GestoreInformazioni gest in _gestori) { //if (gest.Providers.Equals(providers)) return gest; } GestoreInformazioni gestore = new GestoreInformazioni(); // gestore.Providers = providers; _gestori.Add(gestore); return gestore; }