Conversion.CTypeDynamic 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
CTypeDynamic(Object, Type) |
개체를 지정된 형식으로 변환합니다. |
CTypeDynamic<TargetType>(Object) |
개체를 지정된 제네릭 형식으로 변환합니다. |
CTypeDynamic(Object, Type)
- Source:
- Conversion.vb
- Source:
- Conversion.vb
- Source:
- 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)
- Source:
- Conversion.vb
- Source:
- Conversion.vb
- Source:
- 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