Type.GetTypeFromCLSID Méthode

Définition

Obtient le type associé à l'identificateur de classe (CLSID) spécifié.

Surcharges

GetTypeFromCLSID(Guid, String, Boolean)

Obtient le type associé à l'identificateur de classe (CLSID) spécifié à partir du serveur défini, indiquant s'il faut lever une exception en cas d'erreur pendant le chargement du type.

GetTypeFromCLSID(Guid, String)

Obtient le type associé à l'identificateur de classe (CLSID) spécifié à partir du serveur défini.

GetTypeFromCLSID(Guid, Boolean)

Obtient le type associé à l'identificateur de classe (CLSID) spécifié, indiquant s'il faut lever une exception en cas d'erreur pendant le chargement du type.

GetTypeFromCLSID(Guid)

Obtient le type associé à l'identificateur de classe (CLSID) spécifié.

GetTypeFromCLSID(Guid, String, Boolean)

Obtient le type associé à l'identificateur de classe (CLSID) spécifié à partir du serveur défini, indiquant s'il faut lever une exception en cas d'erreur pendant le chargement du type.

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

Paramètres

clsid
Guid

CLSID du type à obtenir.

server
String

Serveur à partir duquel le type doit être chargé. Si le nom de serveur est null, cette méthode revient automatiquement à la machine locale.

throwOnError
Boolean

true pour lever toute exception qui se produit.

  • ou - false pour ignorer toute exception qui se produit.

Retours

Type

System.__ComObject que le CLSID soit valide ou non.

Attributs

Exemples

L’exemple suivant utilise le CLSID de l’objet application Microsoft Word pour récupérer un type COM qui représente l’application Microsoft Word à partir d’un serveur nommé computer17.central.contoso.com. Il instancie ensuite le type en appelant la Activator.CreateInstance méthode et le ferme en appelant la méthode Application.Quit . Une exception est levée si une erreur se produit lors du chargement du 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
open System
open System.Reflection

let [<Literal>] WORD_CLSID = "{000209FF-0000-0000-C000-000000000046}"

try
    // Start an instance of the Word application.
    let word = Type.GetTypeFromCLSID(Guid.Parse WORD_CLSID, "computer17.central.contoso.com", true)
    printfn $"Instantiated Type object from CLSID {WORD_CLSID}"
    let wordObj = Activator.CreateInstance word
    printfn $"Instantiated {wordObj.GetType().FullName} from CLSID {WORD_CLSID}" 
    
    // Close Word.
    word.InvokeMember("Quit", BindingFlags.InvokeMethod, null, wordObj, [| box 0; 0; false |] ) |> ignore
// The method can throw any of a variety of exceptions.
with e ->
    printfn $"{e.GetType().Name}: Unable to instantiate an object for {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

Remarques

La GetTypeFromCLSID méthode prend en charge l’accès à liaison tardive aux objets COM non managés à partir de .NET Framework applications lorsque vous connaissez l’identificateur de classe de l’objet COM (CLSID). L’identificateur de classe pour les classes COM est défini dans la clé HKEY_CLASSES_ROOT\CLSID du Registre. Vous pouvez récupérer la valeur de la IsCOMObject propriété pour déterminer si le type retourné par cette méthode est un objet COM.

Conseil

Vous pouvez appeler la GetTypeFromProgID méthode pour l’accès à liaison tardive aux objets COM dont vous connaissez l’identificateur programmatique (ProgID).

L’instanciation d’un objet COM non managé à partir de son CLSID est un processus en deux étapes :

  1. Obtenez un Type objet qui représente celui __ComObject qui correspond au CLSID en appelant la GetTypeFromCLSID méthode.

  2. Appelez la Activator.CreateInstance(Type) méthode pour instancier l’objet COM.

Des exceptions telles que OutOfMemoryException celles-ci sont levées lors de true throwOnErrorla spécification , mais elles ne échouent pas pour les CLSID non inscrits.

Notes pour les appelants

Cette méthode est destinée à être utilisée lors de l’utilisation d’objets COM, et non avec des objets .NET Framework. Tous les objets managés, y compris ceux visibles par COM (c’est-à-dire leur ComVisibleAttribute attribut), trueont un GUID retourné par la GUID propriété. Bien que la GetTypeFromCLSID(Guid, String, Boolean) méthode retourne un Type objet qui correspond au GUID d’un objet managé particulier, vous ne pouvez pas utiliser cet Type objet pour créer une instance de type en appelant la CreateInstance(Type) méthode, comme l’illustre l’exemple suivant.

::code language="csharp » source="~/snippets/csharp/System/Type/GetTypeFromCLSID/gettypefromclsid11.cs » id="Snippet11 »::: ::code language="fsharp » source="~/snippets/fsharp/System/Type/GetTypeFromCL ID/gettypefromclsid11.fs » id="Snippet11 »::: :::code language="vb » source="~/snippets/visualbasic/VS_Snippets_CLR_System/system.type.gettypefromclsid/vb/gettypefromclsid11.vb » id="Snippet11 »:: Au lieu de cela, il GetTypeFromCLSID(Guid, String, Boolean) ne doit être utilisé que pour récupérer le GUID d’un objet COM non managé, et l’objet résultant Type passé à la CreateInstance(Type) méthode doit représenter un objet COM non managé.

S’applique à

GetTypeFromCLSID(Guid, String)

Obtient le type associé à l'identificateur de classe (CLSID) spécifié à partir du serveur défini.

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

Paramètres

clsid
Guid

CLSID du type à obtenir.

server
String

Serveur à partir duquel le type doit être chargé. Si le nom de serveur est null, cette méthode revient automatiquement à la machine locale.

Retours

Type

System.__ComObject que le CLSID soit valide ou non.

Attributs

Exemples

L’exemple suivant utilise le CLSID de l’objet Application Microsoft Word pour récupérer un type COM qui représente l’application Microsoft Word à partir d’un serveur nommé computer17.central.contoso.com. Il instancie ensuite le type en appelant la Activator.CreateInstance méthode et le ferme en appelant la méthode Application.Quit .

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
open System
open System.Reflection
open System.Runtime.InteropServices

let [<Literal>] WORD_CLSID = "{000209FF-0000-0000-C000-000000000046}"

// Start an instance of the Word application.
let word = Type.GetTypeFromCLSID(Guid.Parse WORD_CLSID, "computer17.central.contoso.com")
printfn $"Instantiated Type object from CLSID {WORD_CLSID}"
try
    let wordObj = Activator.CreateInstance word
    printfn $"Instantiated {wordObj.GetType().FullName} from CLSID {WORD_CLSID}" 
    
    // Close Word.
    word.InvokeMember("Quit", BindingFlags.InvokeMethod, null, wordObj, [| box 0; 0; false |] ) |> ignore
with :? COMException ->
    printfn "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

Remarques

La GetTypeFromCLSID méthode prend en charge l’accès en retard à des objets COM non managés à partir d’applications .NET Framework lorsque vous connaissez l’identificateur de classe de l’objet COM (CLSID). L’identificateur de classe pour les classes COM est défini dans la clé HKEY_CLASSES_ROOT\CLSID du Registre. Vous pouvez récupérer la valeur de la IsCOMObject propriété pour déterminer si le type retourné par cette méthode est un objet COM.

Conseil

Vous pouvez appeler la GetTypeFromProgID méthode pour l’accès tardive aux objets COM dont l’identificateur programmatique (ProgID) vous savez.

L’instanciation d’un objet COM non managé à partir de son CLSID est un processus en deux étapes :

  1. Obtenez un Type objet qui représente celui __ComObject qui correspond au CLSID en appelant la GetTypeFromCLSID méthode.

  2. Appelez la méthode pour instancier l’objet Activator.CreateInstance(Type) COM.

Notes pour les appelants

Cette méthode est destinée à être utilisée lors de l’utilisation d’objets COM, et non avec des objets .NET Framework. Tous les objets managés, y compris ceux visibles par COM (autrement dit, leur ComVisibleAttribute attribut) trueont un GUID retourné par la GUID propriété. Bien que la méthode retourne un Type objet qui correspond au GUID des objets .NET Framework, vous ne pouvez pas utiliser cet Type objet pour créer une instance de type en appelant la méthode, comme l’illustre l’exemple CreateInstance(Type) suivant.

::code language="csharp » source="~/snippets/csharp/System/Type/GetTypeFromCLSID/gettypefromclsid11.cs » id="Snippet11 »::: :::code language="fsharp » source="~/snippets/fsharp/System/Type/GetTypeFromCL IDSID/gettypefromclsid11.fs » id="Snippet11 »::: ::code language="vb » source="~/snippets/visualbasic/VS_Snippets_CLR_System/system.type.gettypefromclsid/vb/gettypefromclsid11.vb » id="Snippet11 »::: Au lieu de cela, il GetTypeFromCLSID(Guid, String, Boolean) doit être utilisé uniquement pour récupérer le GUID d’un objet COM non managé, et l’objet résultant Type passé à la CreateInstance(Type) méthode doit représenter un objet COM non managé.

S’applique à

GetTypeFromCLSID(Guid, Boolean)

Obtient le type associé à l'identificateur de classe (CLSID) spécifié, indiquant s'il faut lever une exception en cas d'erreur pendant le chargement du type.

public:
 static Type ^ GetTypeFromCLSID(Guid clsid, bool throwOnError);
public static Type? GetTypeFromCLSID (Guid clsid, bool throwOnError);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static Type? GetTypeFromCLSID (Guid clsid, bool throwOnError);
public static Type GetTypeFromCLSID (Guid clsid, bool throwOnError);
static member GetTypeFromCLSID : Guid * bool -> Type
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetTypeFromCLSID : Guid * bool -> Type
Public Shared Function GetTypeFromCLSID (clsid As Guid, throwOnError As Boolean) As Type

Paramètres

clsid
Guid

CLSID du type à obtenir.

throwOnError
Boolean

true pour lever toute exception qui se produit.

  • ou - false pour ignorer toute exception qui se produit.

Retours

Type

System.__ComObject que le CLSID soit valide ou non.

Attributs

Exemples

L’exemple suivant utilise le CLSID de l’objet Application Microsoft Word pour récupérer un type COM qui représente l’application Microsoft Word. Il instancie ensuite le type en appelant la Activator.CreateInstance méthode et le ferme en appelant la méthode Application.Quit . Une exception est levée si une erreur se produit lors du chargement du 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
open System
open System.Reflection

let [<Literal>] WORD_CLSID = "{000209FF-0000-0000-C000-000000000046}"

try
    // Start an instance of the Word application.
    let word = Type.GetTypeFromCLSID(Guid.Parse WORD_CLSID, true)
    printfn $"Instantiated Type object from CLSID {WORD_CLSID}"
    let wordObj = Activator.CreateInstance word
    printfn $"Instantiated {wordObj.GetType().FullName} from CLSID {WORD_CLSID}" 
    
    // Close Word.
    word.InvokeMember("Quit", BindingFlags.InvokeMethod, null, wordObj, [| box 0; 0; false |] ) |> ignore
with _ ->
    printfn $"Unable to instantiate an object for {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

Remarques

La GetTypeFromCLSID méthode prend en charge l’accès en retard à des objets COM non managés à partir d’applications .NET Framework lorsque vous connaissez l’identificateur de classe de l’objet COM (CLSID). L’identificateur de classe pour les classes COM est défini dans la clé HKEY_CLASSES_ROOT\CLSID du Registre. Vous pouvez récupérer la valeur de la IsCOMObject propriété pour déterminer si le type retourné par cette méthode est un objet COM.

Conseil

Vous pouvez appeler la GetTypeFromProgID méthode pour l’accès tardive aux objets COM dont l’identificateur programmatique (ProgID) vous savez.

L’instanciation d’un objet COM non managé à partir de son CLSID est un processus en deux étapes :

  1. Obtenez un Type objet qui représente celui __ComObject qui correspond au CLSID en appelant la GetTypeFromCLSID méthode.

  2. Appelez la méthode pour instancier l’objet Activator.CreateInstance(Type) COM.

Consultez l’exemple d’une illustration.

Les exceptions telles que celles-ci OutOfMemoryException sont levées lors de la true spécification pour throwOnError, mais elles ne échouent pas pour les CLSID non inscrits.

Notes pour les appelants

Cette méthode est destinée à être utilisée lors de l’utilisation d’objets COM, et non avec des objets .NET Framework. Tous les objets managés, y compris ceux visibles par COM (autrement dit, leur ComVisibleAttribute attribut) trueont un GUID retourné par la GUID propriété. Bien que la méthode retourne un Type objet qui correspond au GUID des objets .NET Framework, vous ne pouvez pas utiliser cet Type objet pour créer une instance de type en appelant la méthode, comme l’illustre l’exemple CreateInstance(Type) suivant.

::code language="csharp » source="~/snippets/csharp/System/Type/GetTypeFromCLSID/gettypefromclsid11.cs » id="Snippet11 »::: :::code language="fsharp » source="~/snippets/fsharp/System/Type/GetTypeFromCL IDSID/gettypefromclsid11.fs » id="Snippet11 »::: ::code language="vb » source="~/snippets/visualbasic/VS_Snippets_CLR_System/system.type.gettypefromclsid/vb/gettypefromclsid11.vb » id="Snippet11 »::: Au lieu de cela, il GetTypeFromCLSID(Guid, String, Boolean) doit être utilisé uniquement pour récupérer le GUID d’un objet COM non managé, et l’objet résultant Type passé à la CreateInstance(Type) méthode doit représenter un objet COM non managé.

S’applique à

GetTypeFromCLSID(Guid)

Obtient le type associé à l'identificateur de classe (CLSID) spécifié.

public:
 static Type ^ GetTypeFromCLSID(Guid clsid);
public static Type? GetTypeFromCLSID (Guid clsid);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static Type? GetTypeFromCLSID (Guid clsid);
public static Type GetTypeFromCLSID (Guid clsid);
static member GetTypeFromCLSID : Guid -> Type
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetTypeFromCLSID : Guid -> Type
Public Shared Function GetTypeFromCLSID (clsid As Guid) As Type

Paramètres

clsid
Guid

CLSID du type à obtenir.

Retours

Type

System.__ComObject que le CLSID soit valide ou non.

Attributs

Exemples

L’exemple suivant utilise le CLSID de l’objet Application Microsoft Word pour récupérer un type COM qui représente l’application Microsoft Word. Il instancie ensuite le type en appelant la Activator.CreateInstance méthode et le ferme en appelant la méthode Application.Quit .

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
open System
open System.Reflection

let [<Literal>] WORD_CLSID = "{000209FF-0000-0000-C000-000000000046}"
   
// Start an instance of the Word application.
let word = Type.GetTypeFromCLSID(Guid.Parse WORD_CLSID)
printfn $"Instantiated Type object from CLSID {WORD_CLSID}"
let wordObj = Activator.CreateInstance word
printfn $"Instantiated {wordObj.GetType().FullName}"

// Close Word.
word.InvokeMember("Quit", BindingFlags.InvokeMethod, null, wordObj, [| box 0; 0; false |]) |> ignore
// 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

Remarques

La GetTypeFromCLSID méthode prend en charge l’accès en retard à des objets COM non managés à partir d’applications .NET Framework lorsque vous connaissez l’identificateur de classe de l’objet COM (CLSID). L’identificateur de classe pour les classes COM est défini dans la clé HKEY_CLASSES_ROOT\CLSID du Registre. Vous pouvez récupérer la valeur de la IsCOMObject propriété pour déterminer si le type retourné par cette méthode est un objet COM.

Conseil

Vous pouvez appeler la GetTypeFromProgID méthode pour l’accès tardive aux objets COM dont l’identificateur programmatique (ProgID) vous savez.

L’instanciation d’un objet COM non managé à partir de son CLSID est un processus en deux étapes :

  1. Obtenez un Type objet qui représente celui__ComObject qui correspond au CLSID en appelant la GetTypeFromCLSID méthode.

  2. Appelez la méthode pour instancier l’objet Activator.CreateInstance(Type) COM.

Consultez l’exemple d’une illustration.

La GetTypeFromCLSID(Guid) surcharge ignore toute exception qui peut se produire lors de l’instanciation d’un Type objet en fonction de l’argument clsid . Notez qu’aucune exception n’est levée si clsid elle est introuvable dans le Registre.

Notes pour les appelants

Cette méthode est destinée à être utilisée lors de l’utilisation d’objets COM, et non avec des objets .NET Framework. Tous les objets managés, y compris ceux visibles par COM (autrement dit, leur ComVisibleAttribute attribut) trueont un GUID retourné par la GUID propriété. Bien que la méthode retourne un Type objet qui correspond au GUID des objets .NET Framework, vous ne pouvez pas utiliser cet Type objet pour créer une instance de type en appelant la méthode, comme l’illustre l’exemple CreateInstance(Type) suivant.

::code language="csharp » source="~/snippets/csharp/System/Type/GetTypeFromCLSID/gettypefromclsid11.cs » id="Snippet11 »::: :::code language="fsharp » source="~/snippets/fsharp/System/Type/GetTypeFromCL IDSID/gettypefromclsid11.fs » id="Snippet11 »::: ::code language="vb » source="~/snippets/visualbasic/VS_Snippets_CLR_System/system.type.gettypefromclsid/vb/gettypefromclsid11.vb » id="Snippet11 »::: Au lieu de cela, il GetTypeFromCLSID(Guid, String, Boolean) doit être utilisé uniquement pour récupérer le GUID d’un objet COM non managé, et l’objet résultant Type passé à la CreateInstance(Type) méthode doit représenter un objet COM non managé.

S’applique à