Conversion.CTypeDynamic Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| CTypeDynamic(Object, Type) |
Bir nesneyi belirtilen türe dönüştürür. |
| CTypeDynamic<TargetType>(Object) |
Bir nesneyi belirtilen genel türe dönüştürür. |
CTypeDynamic(Object, Type)
- Kaynak:
- Conversion.vb
- Kaynak:
- Conversion.vb
- Kaynak:
- Conversion.vb
- Kaynak:
- Conversion.vb
- Kaynak:
- Conversion.vb
Bir nesneyi belirtilen türe dönüştürür.
public:
static System::Object ^ CTypeDynamic(System::Object ^ Expression, Type ^ TargetType);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Expression's underlying type cannot be statically analyzed and its members may be trimmed")]
public static object CTypeDynamic(object? Expression, Type TargetType);
public static object CTypeDynamic(object? Expression, Type TargetType);
public static object CTypeDynamic(object Expression, Type TargetType);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Expression's underlying type cannot be statically analyzed and its members may be trimmed")>]
static member CTypeDynamic : obj * Type -> obj
static member CTypeDynamic : obj * Type -> obj
Public Function CTypeDynamic (Expression As Object, TargetType As Type) As Object
Parametreler
- Expression
- Object
Dönüştürülecek nesne.
- TargetType
- Type
Nesnenin dönüştürüldüğü tür.
Döndürülenler
Çalışma zamanında türü istenen hedef türü olan bir nesne.
- Öznitelikler
Örnekler
Aşağıdaki örnek, dinamik nesne tarafından tanımlanan dönüştürmeyi kullanarak bir dinamik nesneyi dizeye dönüştürmek için yöntemini kullanır CTypeDynamic .
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
Açıklamalar
yöntemi, CTypeDynamic parametre olarak Expression geçirilen nesneyi parametresi tarafından belirtilen türe TargetType dönüştürür. Nesne dinamik bir nesneyse, CTypeDynamic yöntemi kullanılabilir dinamik dönüştürmeleri uygular.
yöntemi, CTypeDynamic nesnenin kendisi tarafından tanımlanan dönüştürme semantiğine uygun olarak dinamik dönüştürmeler uygular. Bir dinamik nesne öğesinden DynamicObjectCTypeDynamic devralıyorsa, yöntemi önce kullanıcı tanımlı, statik bir dönüştürme kullanarak dönüştürmeyi gerçekleştirmeyi dener. Kullanıcı tanımlı statik dönüştürme başarısız olursa, CTypeDynamic yöntemi dinamik dönüştürmeleri kullanarak dönüştürmeyi gerçekleştirmeye çalışır. Dinamik bir nesne uygularsa IDynamicMetaObjectProviderCTypeDynamic yöntemi, kullanıcı tanımlı statik dönüştürmeler yerine dinamik dönüştürmelere öncelik verir.
Ayrıca bkz.
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic<TargetType>(Object)
Dynamic Objects (Visual Basic) - Walkthrough: Dinamik Nesneler Oluşturma ve Kullanma (C# ve Visual Basic)
Şunlara uygulanır
CTypeDynamic<TargetType>(Object)
- Kaynak:
- Conversion.vb
- Kaynak:
- Conversion.vb
- Kaynak:
- Conversion.vb
- Kaynak:
- Conversion.vb
- Kaynak:
- Conversion.vb
Bir nesneyi belirtilen genel türe dönüştürür.
public:
generic <typename TargetType>
static TargetType CTypeDynamic(System::Object ^ Expression);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Expression's underlying type cannot be statically analyzed and its members may be trimmed")]
public static TargetType CTypeDynamic<TargetType>(object? Expression);
public static TargetType CTypeDynamic<TargetType>(object? Expression);
public static TargetType CTypeDynamic<TargetType>(object Expression);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Expression's underlying type cannot be statically analyzed and its members may be trimmed")>]
static member CTypeDynamic : obj -> 'argetType
static member CTypeDynamic : obj -> 'argetType
Public Function CTypeDynamic(Of TargetType) (Expression As Object) As TargetType
Tür Parametreleri
- TargetType
Nesnenin dönüştürüldüğü tür.
Parametreler
- Expression
- Object
Dönüştürülecek nesne.
Döndürülenler
İstenen genel tür olarak statik olarak yazılan bir nesne.
- Öznitelikler
Örnekler
Aşağıdaki örnek, dinamik nesne tarafından tanımlanan dönüştürmeyi kullanarak bir dinamik nesneyi dizeye dönüştürmek için yöntemini kullanır CTypeDynamic .
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
Açıklamalar
yöntemi, CTypeDynamic parametre olarak Expression geçirilen nesneyi genel parametrenin türüne göre belirtilen türe dönüştürür. Nesne dinamik bir nesneyse, CTypeDynamic yöntemi kullanılabilir dinamik dönüştürmeleri uygular.
yöntemi, CTypeDynamic nesnenin kendisi tarafından tanımlanan dönüştürme semantiğine uygun olarak dinamik dönüştürmeler uygular. Bir dinamik nesne öğesinden DynamicObjectCTypeDynamic devralıyorsa, yöntemi önce kullanıcı tanımlı, statik bir dönüştürme kullanarak dönüştürmeyi gerçekleştirmeyi dener. Kullanıcı tanımlı statik dönüştürme başarısız olursa, CTypeDynamic yöntemi dinamik dönüştürmeleri kullanarak dönüştürmeyi gerçekleştirmeye çalışır. Dinamik bir nesne uygularsa IDynamicMetaObjectProviderCTypeDynamic yöntemi, kullanıcı tanımlı statik dönüştürmeler yerine dinamik dönüştürmelere öncelik verir.
Ayrıca bkz.
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic(Object, Type)
Dynamic Objects (Visual Basic) - Walkthrough: Dinamik Nesneler Oluşturma ve Kullanma (C# ve Visual Basic)