Share via


Conversion.CTypeDynamic Méthode

Définition

Surcharges

CTypeDynamic(Object, Type)

Convertit un objet dans le type spécifié.

CTypeDynamic<TargetType>(Object)

Convertit un objet dans le type générique spécifié.

CTypeDynamic(Object, Type)

Source:
Conversion.vb
Source:
Conversion.vb
Source:
Conversion.vb

Convertit un objet dans le type spécifié.

public:
 static System::Object ^ CTypeDynamic(System::Object ^ Expression, Type ^ TargetType);
public static object CTypeDynamic (object? Expression, Type TargetType);
public static object CTypeDynamic (object Expression, Type TargetType);
static member CTypeDynamic : obj * Type -> obj
Public Function CTypeDynamic (Expression As Object, TargetType As Type) As Object

Paramètres

Expression
Object

Objet à convertir.

TargetType
Type

Type dans lequel convertir l'objet.

Retours

Objet dont le type au moment de l'exécution est le type cible demandé.

Exemples

L’exemple suivant utilise la CTypeDynamic méthode pour convertir un objet dynamique en chaîne à l’aide de la conversion définie par l’objet dynamique.

Imports System.Dynamic  

Module Module1  
    Sub Main()  
        Dim dyn As Object = New SampleDynamicObject  
        Dim sampleString = CTypeDynamic(dyn, GetType(String))  
        Console.WriteLine(sampleString)  
    End Sub  
End Module  

Class SampleDynamicObject  
    Inherits DynamicObject  

    Public Overrides Function TryConvert(ByVal binder As ConvertBinder,  
                                         ByRef result As Object) As Boolean  

        If binder.Type = GetType(String) Then  
            result = "Sample String"  
            Return True  
        End If  

        Return False  
    End Function  
End Class  

Remarques

La CTypeDynamic méthode convertit l’objet passé en tant que Expression paramètre au type spécifié par le TargetType paramètre. Si l’objet est un objet dynamique, la CTypeDynamic méthode applique les conversions dynamiques disponibles.

La CTypeDynamic méthode applique des conversions dynamiques conformément à la sémantique de conversion définie par l’objet lui-même. Si un objet dynamique hérite de DynamicObject, la CTypeDynamic méthode tente d’abord d’effectuer la conversion à l’aide d’une conversion statique définie par l’utilisateur. Si la conversion statique définie par l’utilisateur échoue, la CTypeDynamic méthode tente d’effectuer la conversion à l’aide de conversions dynamiques. Si un objet dynamique implémente , la CTypeDynamic méthode donne la priorité aux conversions dynamiques par rapport aux conversions statiques IDynamicMetaObjectProviderdéfinies par l’utilisateur.

Voir aussi

S’applique à

CTypeDynamic<TargetType>(Object)

Source:
Conversion.vb
Source:
Conversion.vb
Source:
Conversion.vb

Convertit un objet dans le type générique spécifié.

public:
generic <typename TargetType>
 static TargetType CTypeDynamic(System::Object ^ Expression);
public static TargetType CTypeDynamic<TargetType> (object? Expression);
public static TargetType CTypeDynamic<TargetType> (object Expression);
static member CTypeDynamic : obj -> 'argetType
Public Function CTypeDynamic(Of TargetType) (Expression As Object) As TargetType

Paramètres de type

TargetType

Type dans lequel convertir l'objet.

Paramètres

Expression
Object

Objet à convertir.

Retours

TargetType

Objet typé statiquement comme type générique demandé.

Exemples

L’exemple suivant utilise la CTypeDynamic méthode pour convertir un objet dynamique en chaîne à l’aide de la conversion définie par l’objet dynamique.

Imports System.Dynamic  

Module Module1  
    Sub Main()  
        Dim dyn As Object = New SampleDynamicObject  
        Dim str = CTypeDynamic(Of String)(dyn)  
        Console.WriteLine(str)  
    End Sub  
End Module  

Class SampleDynamicObject  
    Inherits DynamicObject  

    Public Overrides Function TryConvert(ByVal binder As ConvertBinder,  
                                         ByRef result As Object) As Boolean  

        If binder.Type = GetType(String) Then  
            result = "Sample String"  
            Return True  
        End If  

        Return False  
    End Function  
End Class  

Remarques

La CTypeDynamic méthode convertit l’objet passé en tant que Expression paramètre au type spécifié par le type du paramètre générique. Si l’objet est un objet dynamique, la CTypeDynamic méthode applique les conversions dynamiques disponibles.

La CTypeDynamic méthode applique des conversions dynamiques conformément à la sémantique de conversion définie par l’objet lui-même. Si un objet dynamique hérite de DynamicObject, la CTypeDynamic méthode tente d’abord d’effectuer la conversion à l’aide d’une conversion statique définie par l’utilisateur. Si la conversion statique définie par l’utilisateur échoue, la CTypeDynamic méthode tente d’effectuer la conversion à l’aide de conversions dynamiques. Si un objet dynamique implémente , la CTypeDynamic méthode donne la priorité aux conversions dynamiques par rapport aux conversions statiques IDynamicMetaObjectProviderdéfinies par l’utilisateur.

Voir aussi

S’applique à