Conversion.CTypeDynamic メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
CTypeDynamic(Object, Type) |
オブジェクトを指定された型に変換します。 |
CTypeDynamic<TargetType>(Object) |
指定したジェネリック型にオブジェクトを変換します。 |
CTypeDynamic(Object, Type)
- ソース:
- Conversion.vb
- ソース:
- Conversion.vb
- ソース:
- Conversion.vb
オブジェクトを指定された型に変換します。
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
パラメーター
- 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)
- ソース:
- Conversion.vb
- ソース:
- Conversion.vb
- ソース:
- Conversion.vb
指定したジェネリック型にオブジェクトを変換します。
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
型パラメーター
- 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)
適用対象
.NET