Type.GetTypeFromProgID 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取与指定程序标识符(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。
返回
与指定的程序标识符(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
参数
- server
- String
要从中加载类型的服务器。 如果服务器名称 null
,此方法会自动还原到本地计算机。
返回
与指定的程序标识符(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,因为它们已被命名空间概念取代。