// Token: 0x0600001F RID: 31 RVA: 0x00002A58 File Offset: 0x00000C58 private static bool TryAddProviderType(Type type, CreateProviderDelegate createProvider) { try { foreach (object obj in type.GetCustomAttributes(typeof(ProviderAttribute), false)) { ProviderAttribute attributes = obj as ProviderAttribute; ProviderInfo providerInfo = new ProviderInfo(type, attributes, createProvider); ProvidersTable.providersList.Add(providerInfo); XmlSchema xmlSchema = ProvidersTable.LoadSchemaFromResource(type.Assembly, providerInfo.Attributes.RequestSchemaFile); if (!ProvidersTable.RequestSchemaSet.Contains(xmlSchema.TargetNamespace)) { ExTraceGlobals.FrameworkTracer.TraceDebug <string, string>(0L, "[ProvidersTable::TryAddProviderType] 'adding request schema to ProvidersTable' TargetNamespace=\"{0}\";SourceUri=\"{1}\"", xmlSchema.TargetNamespace, xmlSchema.SourceUri); ProvidersTable.RequestSchemaSet.Add(xmlSchema); return(true); } } } catch (FormatException ex) { ExTraceGlobals.FrameworkTracer.TraceError <string, string>(0L, "[ProvidersTable::TryAddProviderType] Message=\"{0}\";StackTrace=\"{1}\"", ex.Message, ex.StackTrace); Common.EventLog.LogEvent(AutodiscoverEventLogConstants.Tuple_WarnCoreProviderAttributeException, Common.PeriodicKey, new object[] { type.FullName, ex.Message }); } catch (ArgumentNullException ex2) { ExTraceGlobals.FrameworkTracer.TraceError <string, string>(0L, "[ProvidersTable::TryAddProviderType] Message=\"{0}\";StackTrace=\"{1}\"", ex2.Message, ex2.StackTrace); Common.EventLog.LogEvent(AutodiscoverEventLogConstants.Tuple_WarnCoreProviderAttributeException, Common.PeriodicKey, new object[] { type.FullName, ex2.Message }); } return(false); }
internal ProviderInfo(Type systemType, ProviderAttribute attributes, CreateProviderDelegate createProvider) { this.systemType = systemType; this.attributes = attributes; this.createProvider = createProvider; }