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
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
Bir nesneyi belirtilen türe dönüştürür.
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
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.
Ö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 parametre CTypeDynamic
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öntem 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 üzerinden dinamik dönüştürmelere öncelik verir.
Ayrıca bkz.
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic<TargetType>(Object)
- Dinamik Nesnelerle Çalışma (Visual Basic)
- İzlenecek yol: Dinamik Nesneler Oluşturma ve Kullanma (C# and Visual Basic)
Şunlara uygulanır
CTypeDynamic<TargetType>(Object)
- 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);
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
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.
Ö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 parametre türü tarafından 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öntem 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 üzerinden dinamik dönüştürmelere öncelik verir.
Ayrıca bkz.
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic(Object, Type)
- Dinamik Nesnelerle Çalışma (Visual Basic)
- İzlenecek yol: Dinamik Nesneler Oluşturma ve Kullanma (C# and Visual Basic)