Ejemplo n.º 1
0
 /// <summary>
 /// Helper method for <see cref="GetToolboxProviderInfoMap"/>
 /// </summary>
 private static void LoadExtensionToolboxProviders(RegistryKey rootKey, IDictionary <string, ToolboxProviderInfo> providerMap)
 {
     if (null == rootKey)
     {
         return;
     }
     using (RegistryKey hkeyExtensions = rootKey.OpenSubKey(REGISTRYKEY_EXTENSIONS, RegistryKeyPermissionCheck.ReadSubTree))
     {
         if (hkeyExtensions != null)
         {
             string[] extensionNamespaces = hkeyExtensions.GetSubKeyNames();
             for (int i = 0; i < extensionNamespaces.Length; ++i)
             {
                 string extensionNamespace = extensionNamespaces[i];
                 using (RegistryKey hkeyExtensionKey = hkeyExtensions.OpenSubKey(extensionNamespace))
                 {
                     int?   revisionNumber = hkeyExtensionKey.GetValue("ToolboxItemProviderRevisionNumber") as int?;
                     string extensionClass;
                     if (revisionNumber.HasValue &&
                         !string.IsNullOrEmpty(extensionClass = hkeyExtensionKey.GetValue("Class") as string))
                     {
                         providerMap[extensionClass] = new ToolboxProviderInfo(extensionNamespace, revisionNumber.Value);
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
		/// <summary>
		/// Helper method for <see cref="GetToolboxProviderInfoMap"/>
		/// </summary>
		private static void LoadExtensionToolboxProviders(RegistryKey rootKey, IDictionary<string, ToolboxProviderInfo> providerMap)
		{
			if (null == rootKey)
			{
				return;
			}
			using (RegistryKey hkeyExtensions = rootKey.OpenSubKey(REGISTRYKEY_EXTENSIONS, RegistryKeyPermissionCheck.ReadSubTree))
			{
				if (hkeyExtensions != null)
				{
					string[] extensionNamespaces = hkeyExtensions.GetSubKeyNames();
					for (int i = 0; i < extensionNamespaces.Length; ++i)
					{
						string extensionNamespace = extensionNamespaces[i];
						using (RegistryKey hkeyExtensionKey = hkeyExtensions.OpenSubKey(extensionNamespace))
						{
							int? revisionNumber = hkeyExtensionKey.GetValue("ToolboxItemProviderRevisionNumber") as int?;
							string extensionClass;
							if (revisionNumber.HasValue &&
								!string.IsNullOrEmpty(extensionClass = hkeyExtensionKey.GetValue("Class") as string))
							{
								providerMap[extensionClass] = new ToolboxProviderInfo(extensionNamespace, revisionNumber.Value);
							}
						}
					}
				}
			}
		}