Type.GetTypeFromProgID 方法

定义

获取与指定程序标识符(ProgID)关联的类型。

重载

GetTypeFromProgID(String)

获取与指定程序标识符(ProgID)关联的类型,如果在加载 Type时遇到错误,则返回 null。

GetTypeFromProgID(String, Boolean)

获取与指定程序标识符(ProgID)关联的类型,指定在加载类型时发生错误时是否引发异常。

GetTypeFromProgID(String, String)

从指定服务器获取与指定程序标识符(progID)关联的类型,如果在加载类型时遇到错误,则返回 null。

GetTypeFromProgID(String, String, Boolean)

从指定服务器获取与指定程序标识符(progID)关联的类型,指定在加载类型时出错时是否引发异常。

GetTypeFromProgID(String)

Source:
Type.cs
Source:
Type.cs
Source:
Type.cs

获取与指定程序标识符(ProgID)关联的类型,如果在加载 Type时遇到错误,则返回 null。

public:
 static Type ^ GetTypeFromProgID(System::String ^ progID);
public static Type? GetTypeFromProgID (string progID);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static Type? GetTypeFromProgID (string progID);
[System.Security.SecurityCritical]
public static Type GetTypeFromProgID (string progID);
public static Type GetTypeFromProgID (string progID);
static member GetTypeFromProgID : string -> Type
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetTypeFromProgID : string -> Type
[<System.Security.SecurityCritical>]
static member GetTypeFromProgID : string -> Type
Public Shared Function GetTypeFromProgID (progID As String) As Type

参数

progID
String

要获取的类型 ProgID。

返回

与指定的 ProgID 关联的类型(如果 progID 是注册表中的有效条目,并且类型与之关联);否则,null

属性

例外

progID null

注解

为 COM 支持提供此方法。 progID 未在 Microsoft .NET Framework 中使用,因为它们已被命名空间概念取代。

另请参阅

适用于

GetTypeFromProgID(String, Boolean)

Source:
Type.cs
Source:
Type.cs
Source:
Type.cs

获取与指定程序标识符(ProgID)关联的类型,指定在加载类型时发生错误时是否引发异常。

public:
 static Type ^ GetTypeFromProgID(System::String ^ progID, bool throwOnError);
public static Type? GetTypeFromProgID (string progID, bool throwOnError);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static Type? GetTypeFromProgID (string progID, bool throwOnError);
[System.Security.SecurityCritical]
public static Type GetTypeFromProgID (string progID, bool throwOnError);
public static Type GetTypeFromProgID (string progID, bool throwOnError);
static member GetTypeFromProgID : string * bool -> Type
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetTypeFromProgID : string * bool -> Type
[<System.Security.SecurityCritical>]
static member GetTypeFromProgID : string * bool -> Type
Public Shared Function GetTypeFromProgID (progID As String, throwOnError As Boolean) As Type

参数

progID
String

要获取的类型 ProgID。

throwOnError
Boolean

true 引发发生的任何异常。

-或-

false 忽略发生的任何异常。

返回

与指定的程序标识符(ProgID)关联的类型(如果 progID 是注册表中的有效条目,并且类型与之关联);否则,null

属性

例外

progID null

未注册指定的 ProgID。

示例

以下示例通过传递 ProgID 来检索类型,指定在 ProgID 无效时是否引发异常。 然后,该示例显示与 ProgID 相关的 ClassID 以及任何适用的异常消息。

using namespace System;
int main()
{
   try
   {
      
      // Use the ProgID HKEY_CLASSES_ROOT\DirControl.DirList.1.
      String^ myString1 = "DIRECT.ddPalette.3";
      
      // Use a nonexistent ProgID WrongProgID.
      String^ myString2 = "WrongProgID";
      
      // Make a call to the method to get the type information of the given ProgID.
      Type^ myType1 = Type::GetTypeFromProgID( myString1, true );
      Console::WriteLine( "GUID for ProgID DirControl.DirList.1 is {0}.", myType1->GUID );
      
      // Throw an exception because the ProgID is invalid and the throwOnError
      // parameter is set to True.
      Type^ myType2 = Type::GetTypeFromProgID( myString2, true );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "An exception occurred." );
      Console::WriteLine( "Source: {0}", e->Source );
      Console::WriteLine( "Message: {0}", e->Message );
   }

}
using System;
class MainApp
{
    public static void Main()
    {
        try
        {
            // Use the ProgID HKEY_CLASSES_ROOT\DirControl.DirList.1.
            string myString1 ="DIRECT.ddPalette.3";
            // Use a nonexistent ProgID WrongProgID.
            string myString2 ="WrongProgID";
            // Make a call to the method to get the type information of the given ProgID.
            Type myType1 =Type.GetTypeFromProgID(myString1,true);
            Console.WriteLine("GUID for ProgID DirControl.DirList.1 is {0}.", myType1.GUID);
            // Throw an exception because the ProgID is invalid and the throwOnError
            // parameter is set to True.
            Type myType2 =Type.GetTypeFromProgID(myString2,true);
        }
        catch(Exception e)
        {
            Console.WriteLine("An exception occurred.");
            Console.WriteLine("Source: {0}", e.Source);
            Console.WriteLine("Message: {0}", e.Message);
        }
    }
}
open System

try
    // Use the ProgID HKEY_CLASSES_ROOT\DirControl.DirList.1.
    let myString1 ="DIRECT.ddPalette.3"
    // Use a nonexistent ProgID WrongProgID.
    let myString2 ="WrongProgID"
    // Make a call to the method to get the type information of the given ProgID.
    let myType1 =Type.GetTypeFromProgID(myString1, true)
    printfn $"GUID for ProgID DirControl.DirList.1 is {myType1.GUID}."
    // Throw an exception because the ProgID is invalid and the throwOnError
    // parameter is set to True.
    let myType2 =Type.GetTypeFromProgID(myString2, true)
    ()
with e ->
    printfn "An exception occurred."
    printfn $"Source: {e.Source}"
    printfn $"Message: {e.Message}"
Class MainApp
    Public Shared Sub Main()
        Try
            ' Use the ProgID HKEY_CLASSES_ROOT\DirControl.DirList.1.
            Dim myString1 As String = "DIRECT.ddPalette.3"
            ' Use a nonexistent ProgID WrongProgID.
            Dim myString2 As String = "WrongProgID"
            ' Make a call to the method to get the type information of the given ProgID.
            Dim myType1 As Type = Type.GetTypeFromProgID(myString1, True)
            Console.WriteLine("GUID for ProgID DirControl.DirList.1 is {0}.", myType1.GUID.ToString())
            ' Throw an exception because the ProgID is invalid and the throwOnError 
            ' parameter is set to True.
            Dim myType2 As Type = Type.GetTypeFromProgID(myString2, True)
        Catch e As Exception
            Console.WriteLine("An exception occurred.")
            Console.WriteLine("Source: {0}", e.Source.ToString())
            Console.WriteLine("Message: {0}", e.Message.ToString())
        End Try
    End Sub
End Class

注解

为 COM 支持提供此方法。 Microsoft .NET Framework 中不使用程序 ID,因为它们已被命名空间概念取代。

另请参阅

适用于

GetTypeFromProgID(String, String)

Source:
Type.cs
Source:
Type.cs
Source:
Type.cs

从指定服务器获取与指定程序标识符(progID)关联的类型,如果在加载类型时遇到错误,则返回 null。

public:
 static Type ^ GetTypeFromProgID(System::String ^ progID, System::String ^ server);
public static Type? GetTypeFromProgID (string progID, string? server);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static Type? GetTypeFromProgID (string progID, string? server);
[System.Security.SecurityCritical]
public static Type GetTypeFromProgID (string progID, string server);
public static Type GetTypeFromProgID (string progID, string server);
static member GetTypeFromProgID : string * string -> Type
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetTypeFromProgID : string * string -> Type
[<System.Security.SecurityCritical>]
static member GetTypeFromProgID : string * string -> Type
Public Shared Function GetTypeFromProgID (progID As String, server As String) As Type

参数

progID
String

要获取的类型 progID。

server
String

要从中加载类型的服务器。 如果服务器名称 null,此方法会自动还原到本地计算机。

返回

与指定的程序标识符(progID)关联的类型(如果 progID 是注册表中的有效条目,并且类型与之关联);否则,null

属性

例外

progID null

示例

以下示例通过传递 ProgID 和服务器名称来检索类型。 然后,该示例显示与 ProgID 相关的 ClassID,或者如果 ProgID 或服务器名称无效,则引发异常。

using namespace System;
int main()
{
   try
   {
      
      // Use the ProgID localhost\HKEY_CLASSES_ROOT\DirControl::DirList.1.
      String^ theProgramID = "DirControl.DirList.1";
      
      // Use the server name localhost.
      String^ theServer = "localhost";
      
      // Make a call to the method to get the type information for the given ProgID.
      Type^ myType = Type::GetTypeFromProgID( theProgramID, theServer );
      if ( myType == nullptr )
      {
         throw gcnew Exception( "Invalid ProgID or Server." );
      }
      Console::WriteLine( "GUID for ProgID DirControl.DirList.1 is {0}.", myType->GUID );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "An exception occurred." );
      Console::WriteLine( "Source: {0}", e->Source );
      Console::WriteLine( "Message: {0}", e->Message );
   }

}
using System;
class MainApp
{
    public static void Main()
    {
        try
        {
            // Use the ProgID localhost\HKEY_CLASSES_ROOT\DirControl.DirList.1.
            string theProgramID ="DirControl.DirList.1";
            // Use the server name localhost.
            string theServer="localhost";
            // Make a call to the method to get the type information for the given ProgID.
            Type myType =Type.GetTypeFromProgID(theProgramID,theServer);
            if(myType==null)
            {
                throw new Exception("Invalid ProgID or Server.");
            }
            Console.WriteLine("GUID for ProgID DirControl.DirList.1 is {0}.", myType.GUID);
        }
        catch(Exception e)
        {
            Console.WriteLine("An exception occurred.");
            Console.WriteLine("Source: {0}" , e.Source);
            Console.WriteLine("Message: {0}" , e.Message);
        }		
    }
}
open System

try
    // Use the ProgID localhost\HKEY_CLASSES_ROOT\DirControl.DirList.1.
    let theProgramID ="DirControl.DirList.1"
    // Use the server name localhost.
    let theServer="localhost"
    // Make a call to the method to get the type information for the given ProgID.
    let myType =Type.GetTypeFromProgID(theProgramID, theServer)
    if myType = null then
        raise (Exception "Invalid ProgID or Server.")
    printfn $"GUID for ProgID DirControl.DirList.1 is {myType.GUID}."
with e ->
    printfn "An exception occurred."
    printfn $"Source: {e.Source}"
    printfn $"Message: {e.Message}"
Class MainApp
    Public Shared Sub Main()
        Try
            ' Use ProgID localhost\HKEY_CLASSES_ROOT\DirControl.DirList.1.
            Dim theProgramID As String = "DirControl.DirList.1"
            ' Use Server name localhost.
            Dim theServer As String = "localhost"
            ' Make a call to the method to get the type information for the given ProgID.
            Dim myType As Type = Type.GetTypeFromProgID(theProgramID, theServer)
            If myType Is Nothing Then
                Throw New Exception("Invalid ProgID or server.")
            End If
            Console.WriteLine("GUID for ProgID DirControl.DirList.1 is {0}.", myType.GUID.ToString())
        Catch e As Exception
            Console.WriteLine("An exception occurred.")
            Console.WriteLine("Source: {0}.", e.Source.ToString())
            Console.WriteLine("Message: {0}.", e.Message.ToString())
        End Try
    End Sub
End Class

注解

为 COM 支持提供此方法。 Microsoft .NET Framework 中不使用程序 ID,因为它们已被命名空间概念取代。

另请参阅

适用于

GetTypeFromProgID(String, String, Boolean)

Source:
Type.cs
Source:
Type.cs
Source:
Type.cs

从指定服务器获取与指定程序标识符(progID)关联的类型,指定在加载类型时出错时是否引发异常。

public:
 static Type ^ GetTypeFromProgID(System::String ^ progID, System::String ^ server, bool throwOnError);
public static Type? GetTypeFromProgID (string progID, string? server, bool throwOnError);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static Type? GetTypeFromProgID (string progID, string? server, bool throwOnError);
[System.Security.SecurityCritical]
public static Type GetTypeFromProgID (string progID, string server, bool throwOnError);
public static Type GetTypeFromProgID (string progID, string server, bool throwOnError);
static member GetTypeFromProgID : string * string * bool -> Type
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetTypeFromProgID : string * string * bool -> Type
[<System.Security.SecurityCritical>]
static member GetTypeFromProgID : string * string * bool -> Type
Public Shared Function GetTypeFromProgID (progID As String, server As String, throwOnError As Boolean) As Type

参数

progID
String

要获取的 Type 的 progID。

server
String

要从中加载类型的服务器。 如果服务器名称 null,此方法会自动还原到本地计算机。

throwOnError
Boolean

true 引发发生的任何异常。

-或-

false 忽略发生的任何异常。

返回

与指定的程序标识符(progID)关联的类型(如果 progID 是注册表中的有效条目,并且类型与之关联);否则,null

属性

例外

progID null

未注册指定的 progID。

示例

以下示例通过传递 ProgID 和服务器名称来检索类型。 然后,该示例显示与 ProgID 相关的 ClassID,指定在 ProgID 或服务器名称无效时是否引发异常。

using namespace System;
int main()
{
   try
   {
      
      // Use server localhost.
      String^ theServer = "localhost";
      
      // Use  ProgID HKEY_CLASSES_ROOT\DirControl.DirList.1.
      String^ myString1 = "DirControl.DirList.1";
      
      // Use a wrong ProgID WrongProgID.
      String^ myString2 = "WrongProgID";
      
      // Make a call to the method to get the type information for the given ProgID.
      Type^ myType1 = Type::GetTypeFromProgID( myString1, theServer, true );
      Console::WriteLine( "GUID for ProgID DirControl.DirList.1 is {0}.", myType1->GUID );
      
      // Throw an exception because the ProgID is invalid and the throwOnError
      // parameter is set to True.
      Type^ myType2 = Type::GetTypeFromProgID( myString2, theServer, true );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "An exception occurred. The ProgID is wrong." );
      Console::WriteLine( "Source: {0}", e->Source );
      Console::WriteLine( "Message: {0}", e->Message );
   }

}

using System;
class MainApp
{
    public static void Main()
    {
        try
        {
            // Use server localhost.
            string theServer="localhost";
            // Use  ProgID HKEY_CLASSES_ROOT\DirControl.DirList.1.
            string myString1 ="DirControl.DirList.1";
            // Use a wrong ProgID WrongProgID.
            string myString2 ="WrongProgID";
            // Make a call to the method to get the type information for the given ProgID.
            Type myType1 =Type.GetTypeFromProgID(myString1,theServer,true);
            Console.WriteLine("GUID for ProgID DirControl.DirList.1 is {0}.", myType1.GUID);
            // Throw an exception because the ProgID is invalid and the throwOnError
            // parameter is set to True.
            Type myType2 =Type.GetTypeFromProgID(myString2, theServer, true);
        }
        catch(Exception e)
        {
            Console.WriteLine("An exception occurred. The ProgID is wrong.");
            Console.WriteLine("Source: {0}" , e.Source);
            Console.WriteLine("Message: {0}" , e.Message);
        }
    }
}
open System
try
    // Use server localhost.
    let theServer="localhost"
    // Use  ProgID HKEY_CLASSES_ROOT\DirControl.DirList.1.
    let myString1 ="DirControl.DirList.1"
    // Use a wrong ProgID WrongProgID.
    let myString2 ="WrongProgID"
    // Make a call to the method to get the type information for the given ProgID.
    let myType1 =Type.GetTypeFromProgID(myString1, theServer, true)
    printfn $"GUID for ProgID DirControl.DirList.1 is {myType1.GUID}."
    // Throw an exception because the ProgID is invalid and the throwOnError
    // parameter is set to True.
    let myType2 =Type.GetTypeFromProgID(myString2, theServer, true)
    ()
with e ->
    printfn "An exception occurred. The ProgID is wrong."
    printfn $"Source: {e.Source}"
    printfn $"Message: {e.Message}"
Class MainApp
    Public Shared Sub Main()
        Try
            ' Use Server localhost.
            Dim theServer As String = "localhost"
            ' Use  ProgID HKEY_CLASSES_ROOT\DirControl.DirList.1.
            Dim myString1 As String = "DirControl.DirList.1"
            ' Use a wrong ProgID WrongProgID.
            Dim myString2 As String = "WrongProgID"
            ' Make a call to the method to get the type information for the given ProgID.
            Dim myType1 As Type = Type.GetTypeFromProgID(myString1, theServer, True)
            Console.WriteLine("GUID for ProgID DirControl.DirList.1 is {0}.", myType1.GUID.ToString())
            ' Throw an exception because the ProgID is invalid and the throwOnError 
            ' parameter is set to True.
            Dim myType2 As Type = Type.GetTypeFromProgID(myString2, theServer, True)
        Catch e As Exception
            Console.WriteLine("An exception occurred. The ProgID is wrong.")
            Console.WriteLine("Source: {0}", e.Source.ToString())
            Console.WriteLine("Message: {0}", e.Message.ToString())
        End Try
    End Sub
End Class

注解

为 COM 支持提供此方法。 Microsoft .NET Framework 中不使用程序 ID,因为它们已被命名空间概念取代。

另请参阅

适用于