Conversion.CTypeDynamic 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| CTypeDynamic(Object, Type) |
將物件轉換為指定的型別。 |
| CTypeDynamic<TargetType>(Object) |
將物件轉換為指定的通用型別。 |
CTypeDynamic(Object, Type)
將物件轉換為指定的型別。
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
參數
- Expression
- Object
要轉換的物件。
- TargetType
- Type
要將物件轉換成的類型。
傳回
一個執行時型別為請求目標型別的物件。
範例
以下範例使用 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
備註
該 CTypeDynamic 方法將作為參數傳入 Expression 的物件轉換為參數指定的 TargetType 類型。 若物件為動態物件,方法會 CTypeDynamic 套用可用的動態轉換。
此方法依 CTypeDynamic 據物件本身定義的轉換語意,應用動態轉換。 若動態物件繼承自 DynamicObject,方法 CTypeDynamic 首先嘗試使用使用者定義的靜態轉換來執行轉換。 若使用者定義的靜態轉換失敗,該 CTypeDynamic 方法將嘗試使用動態轉換來執行轉換。 若動態物件實 IDynamicMetaObjectProvider作 ,該 CTypeDynamic 方法優先於動態轉換,而非使用者定義的靜態轉換。
另請參閱
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic<TargetType>(Object)
- 動態物件工作 (Visual Basic)
- 攻略:建立與使用動態物件(C# 與 Visual Basic)
適用於
CTypeDynamic<TargetType>(Object)
將物件轉換為指定的通用型別。
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
類型參數
- TargetType
要將物件轉換成的類型。
參數
- Expression
- Object
要轉換的物件。
傳回
一個靜態型別為請求的通用型別物件。
範例
以下範例使用 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
備註
此 CTypeDynamic 方法將作為參數傳遞 Expression 的物件轉換為由一般參數類型指定的類型。 若物件為動態物件,方法會 CTypeDynamic 套用可用的動態轉換。
此方法依 CTypeDynamic 據物件本身定義的轉換語意,應用動態轉換。 若動態物件繼承自 DynamicObject,方法 CTypeDynamic 首先嘗試使用使用者定義的靜態轉換來執行轉換。 若使用者定義的靜態轉換失敗,該 CTypeDynamic 方法將嘗試使用動態轉換來執行轉換。 若動態物件實 IDynamicMetaObjectProvider作 ,該 CTypeDynamic 方法優先於動態轉換,而非使用者定義的靜態轉換。
另請參閱
- TryConvert(ConvertBinder, Object)
- BindConvert(ConvertBinder)
- CTypeDynamic(Object, Type)
- 動態物件工作 (Visual Basic)
- 攻略:建立與使用動態物件(C# 與 Visual Basic)