// Get the license provider for a specific type. private static LicenseProvider GetProvider(Type type) { Type providerType; LicenseProvider provider; Object[] attrs; lock (typeof(LicenseManager)) { // Get the cached license provider. if (providers == null) { providers = new Hashtable(); } provider = (providers[type] as LicenseProvider); if (provider != null) { return(provider); } // Check the type's "LicenseProvider" attribute. attrs = type.GetCustomAttributes (typeof(LicenseProviderAttribute), true); if (attrs != null && attrs.Length > 0) { providerType = ((LicenseProviderAttribute)(attrs[0])) .LicenseProvider; if (providerType != null) { provider = (LicenseProvider) (Activator.CreateInstance(providerType)); providers[type] = provider; return(provider); } } // No declared provider, so use the default provider. if (defaultProvider == null) { defaultProvider = new DefaultLicenseProvider(); } providers[type] = defaultProvider; return(defaultProvider); } }
// Get the license provider for a specific type. private static LicenseProvider GetProvider(Type type) { Type providerType; LicenseProvider provider; Object[] attrs; lock(typeof(LicenseManager)) { // Get the cached license provider. if(providers == null) { providers = new Hashtable(); } provider = (providers[type] as LicenseProvider); if(provider != null) { return provider; } // Check the type's "LicenseProvider" attribute. attrs = type.GetCustomAttributes (typeof(LicenseProviderAttribute), true); if(attrs != null && attrs.Length > 0) { providerType = ((LicenseProviderAttribute)(attrs[0])) .LicenseProvider; if(providerType != null) { provider = (LicenseProvider) (Activator.CreateInstance(providerType)); providers[type] = provider; return provider; } } // No declared provider, so use the default provider. if(defaultProvider == null) { defaultProvider = new DefaultLicenseProvider(); } providers[type] = defaultProvider; return defaultProvider; } }