Metodo Conversion.CTypeDynamic<TargetType>(Object)

 

Data di pubblicazione: ottobre 2016

Converte un oggetto di tipo generico specificato.

Spazio dei nomi:   Microsoft.VisualBasic
Assembly:  Microsoft.VisualBasic (in Microsoft.VisualBasic.dll)

public static TargetType CTypeDynamic<TargetType>(
	object Expression
)

Parametri

Expression
Type: System.Object

Oggetto da convertire.

Valore restituito

Type: TargetType

Un oggetto tipizzato staticamente come il tipo generico richiesto.

Parametri tipo

TargetType

Il tipo nel quale convertire l'oggetto.

Il CTypeDynamic metodo converte l'oggetto passato come il Expression parametro nel tipo specificato dal tipo del parametro generico. Se l'oggetto è un oggetto dinamico, il CTypeDynamic metodo si applica le conversioni dinamiche disponibili.

Il CTypeDynamic metodo applica le conversioni dinamiche in conformità con la semantica di conversione definita dall'oggetto stesso. Se un oggetto dinamico eredita da DynamicObject, CTypeDynamic metodo innanzitutto tenta di eseguire la conversione utilizzando una conversione definita dall'utente, statica. Se la conversione definita dall'utente, statica non riesce, il CTypeDynamic metodo tenta di eseguire la conversione utilizzando le conversioni dinamiche. Se un oggetto dinamico implementa IDynamicMetaObjectProvider, CTypeDynamic metodo offre la precedenza alle conversioni dinamiche rispetto alle conversioni definite dall'utente, statiche.

Nell'esempio seguente viene utilizzata la CTypeDynamic metodo per convertire un oggetto dinamico in una stringa tramite la conversione definita dall'oggetto dinamico.

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

.NET Framework
Disponibile da 4.0
Silverlight
Disponibile da 4.0
Torna all'inizio
Mostra: