Conversion.CTypeDynamic Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
CTypeDynamic(Object, Type) |
Converte un oggetto nel tipo specificato. |
CTypeDynamic<TargetType>(Object) |
Converte un oggetto nel tipo generico specificato. |
CTypeDynamic(Object, Type)
- Source:
- Conversion.vb
- Source:
- Conversion.vb
- Source:
- Conversion.vb
Converte un oggetto nel tipo specificato.
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
Parametri
- Expression
- Object
Oggetto da convertire.
- TargetType
- Type
Tipo in cui convertire l'oggetto.
Restituisce
Oggetto il cui tipo in fase di esecuzione è il tipo di destinazione richiesto.
Esempio
Nell'esempio seguente viene usato il CTypeDynamic
metodo per convertire un oggetto dinamico in una stringa usando la conversione definita dall'oggetto dinamico.
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
Commenti
Il CTypeDynamic
metodo converte l'oggetto passato come Expression
parametro al tipo specificato dal TargetType
parametro . Se l'oggetto è un oggetto dinamico, il CTypeDynamic
metodo applica conversioni dinamiche disponibili.
Il CTypeDynamic
metodo applica conversioni dinamiche in base alla semantica di conversione definita dall'oggetto stesso. Se un oggetto dinamico eredita da DynamicObject, il CTypeDynamic
metodo tenta prima di eseguire la conversione usando una conversione definita dall'utente e statica. Se la conversione statica ha esito negativo, il CTypeDynamic
metodo tenta di eseguire la conversione usando conversioni dinamiche. Se un oggetto dinamico implementa IDynamicMetaObjectProvider, il CTypeDynamic
metodo dà la precedenza alle conversioni dinamiche rispetto alle conversioni statiche definite dall'utente.
Vedi anche
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic<TargetType>(Object)
- Utilizzo di oggetti dinamici (Visual Basic)
- Procedura dettagliata: Creazione e uso di oggetti dinamici (C# e Visual Basic)
Si applica a
CTypeDynamic<TargetType>(Object)
- Source:
- Conversion.vb
- Source:
- Conversion.vb
- Source:
- Conversion.vb
Converte un oggetto nel tipo generico specificato.
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
Parametri di tipo
- TargetType
Tipo in cui convertire l'oggetto.
Parametri
- Expression
- Object
Oggetto da convertire.
Restituisce
Oggetto tipizzato in modo statico come tipo generico richiesto.
Esempio
Nell'esempio seguente viene usato il CTypeDynamic
metodo per convertire un oggetto dinamico in una stringa usando 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
Commenti
Il CTypeDynamic
metodo converte l'oggetto passato come Expression
parametro al tipo specificato dal tipo del parametro generico. Se l'oggetto è un oggetto dinamico, il CTypeDynamic
metodo applica conversioni dinamiche disponibili.
Il CTypeDynamic
metodo applica conversioni dinamiche in base alla semantica di conversione definita dall'oggetto stesso. Se un oggetto dinamico eredita da DynamicObject, il CTypeDynamic
metodo tenta prima di eseguire la conversione usando una conversione definita dall'utente e statica. Se la conversione statica ha esito negativo, il CTypeDynamic
metodo tenta di eseguire la conversione usando conversioni dinamiche. Se un oggetto dinamico implementa IDynamicMetaObjectProvider, il CTypeDynamic
metodo dà la precedenza alle conversioni dinamiche rispetto alle conversioni statiche definite dall'utente.
Vedi anche
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic(Object, Type)
- Utilizzo di oggetti dinamici (Visual Basic)
- Procedura dettagliata: Creazione e uso di oggetti dinamici (C# e Visual Basic)