Type.GetTypeFromCLSID Method

Definizione

Ottiene il tipo associato all'identificatore di classe specificato (CLSID). Gets the type associated with the specified class identifier (CLSID).

Overload

GetTypeFromCLSID(Guid, String, Boolean)

Ottiene il tipo associato all'identificatore di classe specificato (CLSID) dal server specificato e indica se generare un'eccezione in caso di errore durante il caricamento del tipo. Gets the type associated with the specified class identifier (CLSID) from the specified server, specifying whether to throw an exception if an error occurs while loading the type.

GetTypeFromCLSID(Guid, String)

Ottiene il tipo associato all'identificatore di classe specificato (CLSID) dal server specificato. Gets the type associated with the specified class identifier (CLSID) from the specified server.

GetTypeFromCLSID(Guid, Boolean)

Ottiene il tipo associato all'identificatore di classe specificato (CLSID) e indica se generare un'eccezione qualora si verifichi un errore durante il caricamento del tipo. Gets the type associated with the specified class identifier (CLSID), specifying whether to throw an exception if an error occurs while loading the type.

GetTypeFromCLSID(Guid)

Ottiene il tipo associato all'identificatore di classe specificato (CLSID). Gets the type associated with the specified class identifier (CLSID).

GetTypeFromCLSID(Guid, String, Boolean)

Ottiene il tipo associato all'identificatore di classe specificato (CLSID) dal server specificato e indica se generare un'eccezione in caso di errore durante il caricamento del tipo. Gets the type associated with the specified class identifier (CLSID) from the specified server, specifying whether to throw an exception if an error occurs while loading the type.

public static Type GetTypeFromCLSID (Guid clsid, string server, bool throwOnError);
Parametri
clsid
Guid

CLSID del tipo da ottenere. The CLSID of the type to get.

server
String

Server da cui caricare il tipo. The server from which to load the type. Se il nome del server è null, il metodo verrà automaticamente ripristinato sul computer locale. If the server name is null, this method automatically reverts to the local machine.

throwOnError
Boolean

true per generare qualsiasi eccezione si verifichi. true to throw any exception that occurs. oppure -or- false per ignorare qualsiasi eccezione si verifichi. false to ignore any exception that occurs.

Restituisce

System.__ComObject indipendentemente dalla validità del CLSID. System.__ComObject regardless of whether the CLSID is valid.

Esempi

L'esempio seguente usa il CLSID di Microsoft Word oggetto applicazione per recuperare un tipo COM che rappresenta l'applicazione di Microsoft Word da un server denominato computer17.central.contoso.com.The following example uses the CLSID of the Microsoft Word Application object to retrieve a COM type that represents the Microsoft Word application from a server named computer17.central.contoso.com. Quindi crea un'istanza di tipo chiamando il Activator.CreateInstance metodo e lo chiuda chiamando il Application. Quit (metodo).It then instantiates the type by calling the Activator.CreateInstance method, and closes it by calling the Application.Quit method. Se si verifica un errore durante il caricamento del tipo, viene generata un'eccezione.An exception is thrown if an error occurs while loading the type.

using System;
using System.Reflection;
using System.Runtime.InteropServices;

public class Example
{
   private const string WORD_CLSID = "{000209FF-0000-0000-C000-000000000046}";
   
   public static void Main()
   {
      try {
         // Start an instance of the Word application.
         var word = Type.GetTypeFromCLSID(Guid.Parse(WORD_CLSID), 
                                          "computer17.central.contoso.com",
                                          true);
         Console.WriteLine("Instantiated Type object from CLSID {0}",
                           WORD_CLSID);
         Object wordObj = Activator.CreateInstance(word);
         Console.WriteLine("Instantiated {0}", 
                           wordObj.GetType().FullName, WORD_CLSID);
            
         // Close Word.
         word.InvokeMember("Quit", BindingFlags.InvokeMethod, null, 
                           wordObj, new object[] { 0, 0, false } );
      }
      // The method can throw any of a variety of exceptions.
      catch (Exception e) {
         Console.WriteLine("{0}: Unable to instantiate an object for {1}", 
                           e.GetType().Name, WORD_CLSID);
      }      
   }
}
// The example displays the following output:
//    Instantiated Type object from CLSID {000209FF-0000-0000-C000-000000000046}
//    Instantiated Microsoft.Office.Interop.Word.ApplicationClass
Imports System.Reflection
Imports System.Runtime.InteropServices

Module Example
   Private Const WORD_CLSID As String = "{000209FF-0000-0000-C000-000000000046}"
   
   Public Sub Main()
      Try
         ' Start an instance of the Word application.
         Dim word As Type = Type.GetTypeFromCLSID(Guid.Parse(WORD_CLSID), 
                                                  "computer17.central.contoso.com",
                                                  True)
         Console.WriteLine("Instantiated Type object from CLSID {0}",
                           WORD_CLSID)

         Dim wordObj As Object = Activator.CreateInstance(word)
         Console.WriteLine("Instantiated {0}", 
                           wordObj.GetType().FullName)
         
         ' Close Word.
         word.InvokeMember("Quit", BindingFlags.InvokeMethod, Nothing, 
                           wordObj, New Object() { 0, 0, False } )
      ' The method can throw any of a variety of exceptions.
      Catch e As Exception
         Console.WriteLine("{0}: Unable to instantiate an object for {1}", 
                           e.GetType().Name, WORD_CLSID)
      End Try
   End Sub
End Module
' The example displays the following output:
'    Instantiated Type object from CLSID {000209FF-0000-0000-C000-000000000046}
'    Instantiated Microsoft.Office.Interop.Word.ApplicationClass

Commenti

Il GetTypeFromCLSID metodo supporta l'accesso con associazione tardiva a oggetti COM non gestiti dalle app .NET Framework quando si conosce l'identificatore di classe dell'oggetto COM (CLSID).The GetTypeFromCLSID method supports late-bound access to unmanaged COM objects from .NET Framework apps when you know the COM object's class identifier (CLSID). L'identificatore di classe per classi COM a cui è definita nella chiave del Registro di sistema HKEY_CLASSES_ROOT\CLSID.The class identifier for COM classes is defined in the HKEY_CLASSES_ROOT\CLSID key of the registry. È possibile recuperare il valore della IsCOMObject proprietà per determinare se il tipo restituito da questo metodo è un oggetto COM.You can retrieve the value of the IsCOMObject property to determine whether the type returned by this method is a COM object.

Suggerimento

È possibile chiamare il GetTypeFromProgID metodo per l'accesso con associazione tardiva a COM oggetti il cui identificatore programmatico (ProgID) si conosce.You can call the GetTypeFromProgID method for late-bound access to COM objects whose programmatic identifier (ProgID) you know.

Creare un'istanza di un oggetto COM non gestito dal valore CLSID corrispondente è un processo in due passaggi:Instantiating an unmanaged COM object from its CLSID is a two-step process:

  1. Ottenere un Type oggetto che rappresenta il __ComObject che corrisponde al CLSID chiamando il GetTypeFromCLSID (metodo).Get a Type object that represents the __ComObject that corresponds to the CLSID by calling the GetTypeFromCLSID method.

  2. Chiamare il Activator.CreateInstance(Type) metodo per creare un'istanza dell'oggetto COM.Call the Activator.CreateInstance(Type) method to instantiate the COM object.

Le eccezioni, ad esempio OutOfMemoryException viene generata quando si specificano true per throwOnError, ma non avrà esito negativo per il CLSID di annullare la registrazione.Exceptions such as OutOfMemoryException will be thrown when specifying true for throwOnError, but it will not fail for unregistered CLSIDs.

Note per i chiamanti

Questo metodo è destinato all'uso quando si usano oggetti COM, non con gli oggetti di .NET Framework. Tutti oggetti gestiti, inclusi quelli che sono visibili a COM (vale a dire loro ComVisibleAttribute attributo è true) hanno un GUID che viene restituito dal GUID proprietà. Anche se il GetTypeFromCLSID(Guid, String, Boolean) metodo restituisce un Type oggetto che corrisponde al GUID di un oggetto gestito specifico, non è possibile utilizzare Type oggetto per creare un'istanza del tipo chiamando il CreateInstance(Type) (metodo), come illustrato nell'esempio seguente Mostra. [! codice-csharpSystem.Type.GetTypeFromCLSID#11] [! codice vbSystem.Type.GetTypeFromCLSID#11] invece di GetTypeFromCLSID(Guid, String, Boolean) deve essere usato solo per recuperare il GUID di una funzione non gestita Oggetto COM e risultante Type oggetto passato per il CreateInstance(Type) metodo deve rappresentare un oggetto COM non gestito.

This method is intended for use when working with COM objects, not with .NET Framework objects. All managed objects, including those that are visible to COM (that is, their ComVisibleAttribute attribute is true) have a GUID that is returned by the GUID property. Although the GetTypeFromCLSID(Guid, String, Boolean) method returns a Type object that corresponds to the GUID for a particular managed object, you can't use that Type object to create a type instance by calling the CreateInstance(Type) method, as the following example shows. [!code-csharpSystem.Type.GetTypeFromCLSID#11] [!code-vbSystem.Type.GetTypeFromCLSID#11] Instead, the GetTypeFromCLSID(Guid, String, Boolean) should only be used to retrieve the GUID of an unmanaged COM object, and the resulting Type object that is passed to the CreateInstance(Type) method must represent an unmanaged COM object.

GetTypeFromCLSID(Guid, String)

Ottiene il tipo associato all'identificatore di classe specificato (CLSID) dal server specificato. Gets the type associated with the specified class identifier (CLSID) from the specified server.

public static Type GetTypeFromCLSID (Guid clsid, string server);
Parametri
clsid
Guid

CLSID del tipo da ottenere. The CLSID of the type to get.

server
String

Server da cui caricare il tipo. The server from which to load the type. Se il nome del server è null, il metodo verrà automaticamente ripristinato sul computer locale. If the server name is null, this method automatically reverts to the local machine.

Restituisce

System.__ComObject indipendentemente dalla validità del CLSID. System.__ComObject regardless of whether the CLSID is valid.

Esempi

L'esempio seguente usa il CLSID di Microsoft Word oggetto applicazione per recuperare un tipo COM che rappresenta l'applicazione di Microsoft Word da un server denominato computer17.central.contoso.com.The following example uses the CLSID of the Microsoft Word Application object to retrieve a COM type that represents the Microsoft Word application from a server named computer17.central.contoso.com. Quindi crea un'istanza di tipo chiamando il Activator.CreateInstance metodo e lo chiuda chiamando il Application. Quit (metodo).It then instantiates the type by calling the Activator.CreateInstance method, and closes it by calling the Application.Quit method.

using System;
using System.Reflection;
using System.Runtime.InteropServices;

public class Example
{
   private const string WORD_CLSID = "{000209FF-0000-0000-C000-000000000046}";
   
   public static void Main()
   {
      // Start an instance of the Word application.
      var word = Type.GetTypeFromCLSID(Guid.Parse(WORD_CLSID), "computer17.central.contoso.com");
      Console.WriteLine("Instantiated Type object from CLSID {0}",
                        WORD_CLSID);
      try {
         Object wordObj = Activator.CreateInstance(word);
         Console.WriteLine("Instantiated {0}", 
                           wordObj.GetType().FullName, WORD_CLSID);
            
         // Close Word.
         word.InvokeMember("Quit", BindingFlags.InvokeMethod, null, 
                           wordObj, new object[] { 0, 0, false } );
      }
      catch (COMException) {
         Console.WriteLine("Unable to instantiate object.");   
      }
   }
}
// The example displays the following output:
//    Instantiated Type object from CLSID {000209FF-0000-0000-C000-000000000046}
//    Instantiated Microsoft.Office.Interop.Word.ApplicationClass
Imports System.Reflection
Imports System.Runtime.InteropServices

Module Example
   Private Const WORD_CLSID As String = "{000209FF-0000-0000-C000-000000000046}"
   
   Public Sub Main()
      ' Start an instance of the Word application.
      Dim word As Type = Type.GetTypeFromCLSID(Guid.Parse(WORD_CLSID), "computer17.central.contoso.com")
      Console.WriteLine("Instantiated Type object from CLSID {0}",
                        WORD_CLSID)
      Try
         Dim wordObj As Object = Activator.CreateInstance(word)
         Console.WriteLine("Instantiated {0}", 
                           wordObj.GetType().FullName)
         
         ' Close Word.
         word.InvokeMember("Quit", BindingFlags.InvokeMethod, Nothing, 
                           wordObj, New Object() { 0, 0, False } )
      Catch e As COMException
         Console.WriteLine("Unable to instantiate object.")
      End Try
   End Sub
End Module
' The example displays the following output:
'    Instantiated Type object from CLSID {000209FF-0000-0000-C000-000000000046}
'    Instantiated Microsoft.Office.Interop.Word.ApplicationClass

Commenti

Il GetTypeFromCLSID metodo supporta l'accesso con associazione tardiva a oggetti COM non gestiti dalle app .NET Framework quando si conosce l'identificatore di classe dell'oggetto COM (CLSID).The GetTypeFromCLSID method supports late-bound access to unmanaged COM objects from .NET Framework apps when you know the COM object's class identifier (CLSID). L'identificatore di classe per classi COM a cui è definita nella chiave del Registro di sistema HKEY_CLASSES_ROOT\CLSID.The class identifier for COM classes is defined in the HKEY_CLASSES_ROOT\CLSID key of the registry. È possibile recuperare il valore della IsCOMObject proprietà per determinare se il tipo restituito da questo metodo è un oggetto COM.You can retrieve the value of the IsCOMObject property to determine whether the type returned by this method is a COM object.

Suggerimento

È possibile chiamare il GetTypeFromProgID metodo per l'accesso con associazione tardiva a COM oggetti il cui identificatore programmatico (ProgID) si conosce.You can call the GetTypeFromProgID method for late-bound access to COM objects whose programmatic identifier (ProgID) you know.

Creare un'istanza di un oggetto COM non gestito dal valore CLSID corrispondente è un processo in due passaggi:Instantiating an unmanaged COM object from its CLSID is a two-step process:

  1. Ottenere un Type oggetto che rappresenta il __ComObject che corrisponde al CLSID chiamando il GetTypeFromCLSID (metodo).Get a Type object that represents the __ComObject that corresponds to the CLSID by calling the GetTypeFromCLSID method.

  2. Chiamare il Activator.CreateInstance(Type) metodo per creare un'istanza dell'oggetto COM.Call the Activator.CreateInstance(Type) method to instantiate the COM object.

Note per i chiamanti

Questo metodo è destinato all'uso quando si usano oggetti COM, non con gli oggetti di .NET Framework. Tutti oggetti gestiti, inclusi quelli che sono visibili a COM (vale a dire loro ComVisibleAttribute attributo è true) hanno un GUID che viene restituito dal GUID proprietà. Anche se il metodo restituisce un Type gli oggetti che corrisponde al GUID di .NET Framework, non è possibile utilizzare Type oggetto per creare un'istanza del tipo chiamando il CreateInstance(Type) metodo, come illustrato nell'esempio seguente. [! codice-csharpSystem.Type.GetTypeFromCLSID#11] [! codice vbSystem.Type.GetTypeFromCLSID#11] invece di GetTypeFromCLSID(Guid, String, Boolean) deve essere usato solo per recuperare il GUID di un COM non gestito oggetto e l'oggetto risultante Type oggetto passato per il CreateInstance(Type) metodo deve rappresentare un oggetto COM non gestito.

This method is intended for use when working with COM objects, not with .NET Framework objects. All managed objects, including those that are visible to COM (that is, their ComVisibleAttribute attribute is true) have a GUID that is returned by the GUID property. Although the method returns a Type object that corresponds to the GUID for .NET Framework objects, you can't use that Type object to create a type instance by calling the CreateInstance(Type) method, as the following example shows. [!code-csharpSystem.Type.GetTypeFromCLSID#11] [!code-vbSystem.Type.GetTypeFromCLSID#11] Instead, the GetTypeFromCLSID(Guid, String, Boolean) should only be used to retrieve the GUID of an unmanaged COM object, and the resulting Type object that is passed to the CreateInstance(Type) method must represent an unmanaged COM object.

GetTypeFromCLSID(Guid, Boolean)

Ottiene il tipo associato all'identificatore di classe specificato (CLSID) e indica se generare un'eccezione qualora si verifichi un errore durante il caricamento del tipo. Gets the type associated with the specified class identifier (CLSID), specifying whether to throw an exception if an error occurs while loading the type.

public static Type GetTypeFromCLSID (Guid clsid, bool throwOnError);
Parametri
clsid
Guid

CLSID del tipo da ottenere. The CLSID of the type to get.

throwOnError
Boolean

true per generare qualsiasi eccezione si verifichi. true to throw any exception that occurs. oppure -or- false per ignorare qualsiasi eccezione si verifichi. false to ignore any exception that occurs.

Restituisce

System.__ComObject indipendentemente dalla validità del CLSID. System.__ComObject regardless of whether the CLSID is valid.

Esempi

L'esempio seguente usa il CLSID di Microsoft Word oggetto applicazione per recuperare un tipo COM che rappresenta l'applicazione di Microsoft Word.The following example uses the CLSID of the Microsoft Word Application object to retrieve a COM type that represents the Microsoft Word application. Quindi crea un'istanza di tipo chiamando il Activator.CreateInstance metodo e lo chiuda chiamando il Application. Quit (metodo).It then instantiates the type by calling the Activator.CreateInstance method, and closes it by calling the Application.Quit method. Se si verifica un errore durante il caricamento del tipo, viene generata un'eccezione.An exception is thrown if an error occurs while loading the type.

using System;
using System.Reflection;
using System.Runtime.InteropServices;

public class Example
{
   private const string WORD_CLSID = "{000209FF-0000-0000-C000-000000000046}";
   
   public static void Main()
   {
      try {
         // Start an instance of the Word application.
         var word = Type.GetTypeFromCLSID(Guid.Parse(WORD_CLSID), true);
         Console.WriteLine("Instantiated Type object from CLSID {0}",
                           WORD_CLSID);
         Object wordObj = Activator.CreateInstance(word);
         Console.WriteLine("Instantiated {0}", 
                           wordObj.GetType().FullName, WORD_CLSID);
         
         // Close Word.
         word.InvokeMember("Quit", BindingFlags.InvokeMethod, null, 
                           wordObj, new object[] { 0, 0, false } );
      }
      catch (Exception) {
         Console.WriteLine("Unable to instantiate an object for {0}", WORD_CLSID);
      }
   }
}
// The example displays the following output:
//    Instantiated Type object from CLSID {000209FF-0000-0000-C000-000000000046}
//    Instantiated Microsoft.Office.Interop.Word.ApplicationClass
Imports System.Reflection
Imports System.Runtime.InteropServices

Module Example
   Private Const WORD_CLSID As String = "{000209FF-0000-0000-C000-000000000046}"
   
   Public Sub Main()
      ' Start an instance of the Word application.
      Try
         Dim word As Type = Type.GetTypeFromCLSID(Guid.Parse(WORD_CLSID), True)
         Console.WriteLine("Instantiated Type object from CLSID {0}",
                           WORD_CLSID)
         Dim wordObj As Object = Activator.CreateInstance(word)
         Console.WriteLine("Instantiated {0}", 
                           wordObj.GetType().FullName)
         
         ' Close Word.
         word.InvokeMember("Quit", BindingFlags.InvokeMethod, Nothing, 
                           wordObj, New Object() { 0, 0, False } )
      ' The method can throw any of a number of unexpected exceptions.
      Catch e As Exception
         Console.WriteLine("Unable to instantiate an object for {0}", WORD_CLSID)
      End Try
   End Sub
End Module
' The example displays the following output:
'    Instantiated Type object from CLSID {000209FF-0000-0000-C000-000000000046}
'    Instantiated Microsoft.Office.Interop.Word.ApplicationClass

Commenti

Il GetTypeFromCLSID metodo supporta l'accesso con associazione tardiva a oggetti COM non gestiti dalle app .NET Framework quando si conosce l'identificatore di classe dell'oggetto COM (CLSID).The GetTypeFromCLSID method supports late-bound access to unmanaged COM objects from .NET Framework apps when you know the COM object's class identifier (CLSID). L'identificatore di classe per classi COM a cui è definita nella chiave del Registro di sistema HKEY_CLASSES_ROOT\CLSID.The class identifier for COM classes is defined in the HKEY_CLASSES_ROOT\CLSID key of the registry. È possibile recuperare il valore della IsCOMObject proprietà per determinare se il tipo restituito da questo metodo è un oggetto COM.You can retrieve the value of the IsCOMObject property to determine whether the type returned by this method is a COM object.

Suggerimento

È possibile chiamare il GetTypeFromProgID metodo per l'accesso con associazione tardiva a COM oggetti il cui identificatore programmatico (ProgID) si conosce.You can call the GetTypeFromProgID method for late-bound access to COM objects whose programmatic identifier (ProgID) you know.

Creare un'istanza di un oggetto COM non gestito dal valore CLSID corrispondente è un processo in due passaggi:Instantiating an unmanaged COM object from its CLSID is a two-step process:

  1. Ottenere un Type oggetto che rappresenta il __ComObject che corrisponde al CLSID chiamando il GetTypeFromCLSID (metodo).Get a Type object that represents the __ComObject that corresponds to the CLSID by calling the GetTypeFromCLSID method.

  2. Chiamare il Activator.CreateInstance(Type) metodo per creare un'istanza dell'oggetto COM.Call the Activator.CreateInstance(Type) method to instantiate the COM object.

Vedere l'esempio per un'illustrazione.See the example for an illustration.

Le eccezioni, ad esempio OutOfMemoryException viene generata quando si specificano true per throwOnError, ma non avrà esito negativo per il CLSID di annullare la registrazione.Exceptions such as OutOfMemoryException will be thrown when specifying true for throwOnError, but it will not fail for unregistered CLSIDs.

Note per i chiamanti

Questo metodo è destinato all'uso quando si usano oggetti COM, non con gli oggetti di .NET Framework. Tutti oggetti gestiti, inclusi quelli che sono visibili a COM (vale a dire loro ComVisibleAttribute attributo è true) hanno un GUID che viene restituito dal GUID proprietà. Anche se il metodo restituisce un Type gli oggetti che corrisponde al GUID di .NET Framework, non è possibile utilizzare Type oggetto per creare un'istanza del tipo chiamando il CreateInstance(Type) metodo, come illustrato nell'esempio seguente. [! codice-csharpSystem.Type.GetTypeFromCLSID#11] [! codice vbSystem.Type.GetTypeFromCLSID#11] invece di GetTypeFromCLSID(Guid, String, Boolean) deve essere usato solo per recuperare il GUID di un COM non gestito oggetto e l'oggetto risultante Type oggetto passato per il CreateInstance(Type) metodo deve rappresentare un oggetto COM non gestito.

This method is intended for use when working with COM objects, not with .NET Framework objects. All managed objects, including those that are visible to COM (that is, their ComVisibleAttribute attribute is true) have a GUID that is returned by the GUID property. Although the method returns a Type object that corresponds to the GUID for .NET Framework objects, you can't use that Type object to create a type instance by calling the CreateInstance(Type) method, as the following example shows. [!code-csharpSystem.Type.GetTypeFromCLSID#11] [!code-vbSystem.Type.GetTypeFromCLSID#11] Instead, the GetTypeFromCLSID(Guid, String, Boolean) should only be used to retrieve the GUID of an unmanaged COM object, and the resulting Type object that is passed to the CreateInstance(Type) method must represent an unmanaged COM object.

GetTypeFromCLSID(Guid)

Ottiene il tipo associato all'identificatore di classe specificato (CLSID). Gets the type associated with the specified class identifier (CLSID).

public static Type GetTypeFromCLSID (Guid clsid);
Parametri
clsid
Guid

CLSID del tipo da ottenere. The CLSID of the type to get.

Restituisce

System.__ComObject indipendentemente dalla validità del CLSID. System.__ComObject regardless of whether the CLSID is valid.

Esempi

L'esempio seguente usa il CLSID di Microsoft Word oggetto applicazione per recuperare un tipo COM che rappresenta l'applicazione di Microsoft Word.The following example uses the CLSID of the Microsoft Word Application object to retrieve a COM type that represents the Microsoft Word application. Quindi crea un'istanza di tipo chiamando il Activator.CreateInstance metodo e lo chiuda chiamando il Application. Quit (metodo).It then instantiates the type by calling the Activator.CreateInstance method, and closes it by calling the Application.Quit method.

using System;
using System.Reflection;
using System.Runtime.InteropServices;

public class Example
{
   private const string WORD_CLSID = "{000209FF-0000-0000-C000-000000000046}";
   
   public static void Main()
   {
      // Start an instance of the Word application.
      var word = Type.GetTypeFromCLSID(Guid.Parse(WORD_CLSID));
      Console.WriteLine("Instantiated Type object from CLSID {0}",
                        WORD_CLSID);
      Object wordObj = Activator.CreateInstance(word);
      Console.WriteLine("Instantiated {0}", 
                        wordObj.GetType().FullName);
      
      // Close Word.
      word.InvokeMember("Quit", BindingFlags.InvokeMethod, null, 
                        wordObj, new object[] { 0, 0, false } );
   }
}
// The example displays the following output:
//    Instantiated Type object from CLSID {000209FF-0000-0000-C000-000000000046}
//    Instantiated Microsoft.Office.Interop.Word.ApplicationClass
Imports System.Reflection
Imports System.Runtime.InteropServices

Module Example
   Private Const WORD_CLSID As String = "{000209FF-0000-0000-C000-000000000046}"
   
   Public Sub Main()
      ' Start an instance of the Word application.
      Dim word As Type = Type.GetTypeFromCLSID(Guid.Parse(WORD_CLSID))
      Console.WriteLine("Instantiated Type object from CLSID {0}",
                        WORD_CLSID)
      Dim wordObj As Object = Activator.CreateInstance(word)
      Console.WriteLine("Instantiated {0}", 
                        wordObj.GetType().FullName)
      
      ' Close Word.
      word.InvokeMember("Quit", BindingFlags.InvokeMethod, Nothing, 
                        wordObj, New Object() { 0, 0, False } )
   End Sub
End Module
' The example displays the following output:
'    Instantiated Type object from CLSID {000209FF-0000-0000-C000-000000000046}
'    Instantiated Microsoft.Office.Interop.Word.ApplicationClass

Commenti

Il GetTypeFromCLSID metodo supporta l'accesso con associazione tardiva a oggetti COM non gestiti dalle app .NET Framework quando si conosce l'identificatore di classe dell'oggetto COM (CLSID).The GetTypeFromCLSID method supports late-bound access to unmanaged COM objects from .NET Framework apps when you know the COM object's class identifier (CLSID). L'identificatore di classe per classi COM a cui è definita nella chiave del Registro di sistema HKEY_CLASSES_ROOT\CLSID.The class identifier for COM classes is defined in the HKEY_CLASSES_ROOT\CLSID key of the registry. È possibile recuperare il valore della IsCOMObject proprietà per determinare se il tipo restituito da questo metodo è un oggetto COM.You can retrieve the value of the IsCOMObject property to determine whether the type returned by this method is a COM object.

Suggerimento

È possibile chiamare il GetTypeFromProgID metodo per l'accesso con associazione tardiva a COM oggetti il cui identificatore programmatico (ProgID) si conosce.You can call the GetTypeFromProgID method for late-bound access to COM objects whose programmatic identifier (ProgID) you know.

Creare un'istanza di un oggetto COM non gestito dal valore CLSID corrispondente è un processo in due passaggi:Instantiating an unmanaged COM object from its CLSID is a two-step process:

  1. Ottenere un Type oggetto che rappresenta il__ComObject che corrisponde al CLSID chiamando il GetTypeFromCLSID (metodo).Get a Type object that represents the__ComObject that corresponds to the CLSID by calling the GetTypeFromCLSID method.

  2. Chiamare il Activator.CreateInstance(Type) metodo per creare un'istanza dell'oggetto COM.Call the Activator.CreateInstance(Type) method to instantiate the COM object.

Vedere l'esempio per un'illustrazione.See the example for an illustration.

Il GetTypeFromCLSID(Guid) overload Ignora tutte le eccezioni che possono verificarsi quando si crea un' Type oggetto in base il clsid argomento.The GetTypeFromCLSID(Guid) overload ignores any exception that may occur when instantiating a Type object based on the clsid argument. Si noti che viene generata alcuna eccezione se clsid non viene trovato nel Registro di sistema.Note that no exception is thrown if clsid is not found in the registry.

Note per i chiamanti

Questo metodo è destinato all'uso quando si usano oggetti COM, non con gli oggetti di .NET Framework. Tutti oggetti gestiti, inclusi quelli che sono visibili a COM (vale a dire loro ComVisibleAttribute attributo è true) hanno un GUID che viene restituito dal GUID proprietà. Anche se il metodo restituisce un Type gli oggetti che corrisponde al GUID di .NET Framework, non è possibile utilizzare Type oggetto per creare un'istanza del tipo chiamando il CreateInstance(Type) metodo, come illustrato nell'esempio seguente. [! codice-csharpSystem.Type.GetTypeFromCLSID#11] [! codice vbSystem.Type.GetTypeFromCLSID#11] invece di GetTypeFromCLSID(Guid, String, Boolean) deve essere usato solo per recuperare il GUID di un COM non gestito oggetto e l'oggetto risultante Type oggetto passato per il CreateInstance(Type) metodo deve rappresentare un oggetto COM non gestito.

This method is intended for use when working with COM objects, not with .NET Framework objects. All managed objects, including those that are visible to COM (that is, their ComVisibleAttribute attribute is true) have a GUID that is returned by the GUID property. Although the method returns a Type object that corresponds to the GUID for .NET Framework objects, you can't use that Type object to create a type instance by calling the CreateInstance(Type) method, as the following example shows. [!code-csharpSystem.Type.GetTypeFromCLSID#11] [!code-vbSystem.Type.GetTypeFromCLSID#11] Instead, the GetTypeFromCLSID(Guid, String, Boolean) should only be used to retrieve the GUID of an unmanaged COM object, and the resulting Type object that is passed to the CreateInstance(Type) method must represent an unmanaged COM object.

Si applica a