Conversion::CTypeDynamic<TargetType> Method (Object^)
Converts an object to the specified generic type.
Assembly: Microsoft.VisualBasic (in Microsoft.VisualBasic.dll)
Parameters
- Expression
-
Type:
System::Object^
The object to convert.
Return Value
Type: TargetTypeAn object statically typed as the requested generic type.
Type Parameters
- TargetType
The type to which to convert the object.
The CTypeDynamic method converts the object passed as the Expression parameter to the type specified by the type of the generic parameter. If the object is a dynamic object, the CTypeDynamic method applies available dynamic conversions.
The CTypeDynamic method applies dynamic conversions in accordance with the conversion semantics defined by the object itself. If a dynamic object inherits from DynamicObject, the CTypeDynamic method first attempts to perform the conversion by using a user-defined, static conversion. If the user-defined, static conversion fails, the CTypeDynamic method attempts to perform the conversion by using dynamic conversions. If a dynamic object implements IDynamicMetaObjectProvider, the CTypeDynamic method gives precedence to dynamic conversions over user-defined, static conversions.
The following example uses the CTypeDynamic method to convert a dynamic object to a string by using the conversion defined by the dynamic object.
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
Available since 4.0
Silverlight
Available since 4.0