Conversion.CTypeDynamic Méthode

Définition

Surcharges

Nom Description
CTypeDynamic(Object, Type)

Convertit un objet en type spécifié.

CTypeDynamic<TargetType>(Object)

Convertit un objet en type générique spécifié.

CTypeDynamic(Object, Type)

Convertit un objet en type spécifié.

public:
 static System::Object ^ CTypeDynamic(System::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 vers 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 des 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 priorité aux conversions dynamiques sur les conversions statiques IDynamicMetaObjectProviderdéfinies par l’utilisateur.

Voir aussi

S’applique à

CTypeDynamic<TargetType>(Object)

Convertit un objet en type générique spécifié.

public:
generic <typename TargetType>
 static TargetType CTypeDynamic(System::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 vers 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 des 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 priorité aux conversions dynamiques sur les conversions statiques IDynamicMetaObjectProviderdéfinies par l’utilisateur.

Voir aussi

S’applique à