Beispiel #1
0
        // 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;
				}
			}