다음을 통해 공유


ValueSerializer.GetSerializerFor 메서드

정의

개체에 대한 ValueSerializer를 가져옵니다.

오버로드

GetSerializerFor(PropertyDescriptor)

속성의 CLR 속성 설명자를 전달하여 속성에 대해 선언된 ValueSerializer 를 가져옵니다.

GetSerializerFor(Type)

지정된 형식에 대해 선언된 ValueSerializer 를 가져옵니다.

GetSerializerFor(PropertyDescriptor, IValueSerializerContext)

지정된 컨텍스트를 사용하여 지정된 속성에 선언된 ValueSerializer 를 가져옵니다.

GetSerializerFor(Type, IValueSerializerContext)

지정된 컨텍스트를 사용하여 지정된 형식에 대해 선언된 ValueSerializer 를 가져옵니다.

GetSerializerFor(PropertyDescriptor)

속성의 CLR 속성 설명자를 전달하여 속성에 대해 선언된 ValueSerializer 를 가져옵니다.

public:
 static System::Windows::Markup::ValueSerializer ^ GetSerializerFor(System::ComponentModel::PropertyDescriptor ^ descriptor);
public static System.Windows.Markup.ValueSerializer GetSerializerFor (System.ComponentModel.PropertyDescriptor descriptor);
static member GetSerializerFor : System.ComponentModel.PropertyDescriptor -> System.Windows.Markup.ValueSerializer
Public Shared Function GetSerializerFor (descriptor As PropertyDescriptor) As ValueSerializer

매개 변수

descriptor
PropertyDescriptor

직렬화할 속성의 CLR 속성 설명자입니다.

반환

지정된 속성과 연결된 직렬 변환기입니다. null을 반환할 수 있습니다.

예외

descriptornull입니다.

설명

ValueSerializer 속성 또는 속성의 값으로 사용되는 형식의 은 속성 또는 형식 선언에 특성을 적용하여 ValueSerializerAttribute 표시됩니다. 메서드는 GetSerializerFor CLR 형식 시스템 정보를 읽고 속성에 있는 경우 특성에 따라 새 클래스를 반환하거나 속성의 형식에서 찾은 경우 새 ValueSerializer 클래스를 반환하는 유틸리티 메서드입니다. null 는 이러한 직렬 변환기가 없는 경우 반환될 수 있습니다. null 형식 또는 속성이 의도적으로 null 값 ValueSerializerAttribute으로 특성이 지정된 경우에도 반환될 수 있습니다.

를 지원하는 또 다른 모드 GetSerializerFor 는 를 래핑 TypeConverter 하고 메서드를 메서드 Convert*String 로 변환 Convert 하는 구현인 내부 TypeConverterValueSerializer 클래스 ValueSerializer 를 반환하는 것입니다(instance TypeConverter.ConvertTo 형식의 String 입력으로 호출되고 로 변환됩니다.ConvertToString 이 작업은 다음을 모두 충족하는 경우에만 수행됩니다.

참고

다음은 특수한 경우입니다. DateTime 형식은 를 DateTimeValueSerializerString 반환하고, 형식은 내부적이지만 기능적인 serializer(StringValueSerializer)를 반환합니다.

적용 대상

GetSerializerFor(Type)

지정된 형식에 대해 선언된 ValueSerializer 를 가져옵니다.

public:
 static System::Windows::Markup::ValueSerializer ^ GetSerializerFor(Type ^ type);
public static System.Windows.Markup.ValueSerializer GetSerializerFor (Type type);
static member GetSerializerFor : Type -> System.Windows.Markup.ValueSerializer
Public Shared Function GetSerializerFor (type As Type) As ValueSerializer

매개 변수

type
Type

ValueSerializer 를 가져올 형식입니다.

반환

지정된 형식과 연결된 직렬 변환기입니다. null을 반환할 수 있습니다.

예외

type이(가) null인 경우

설명

ValueSerializer 형식에 대한 은 형식 선언에 특성을 적용하여 ValueSerializerAttribute 표시됩니다. 메서드는 GetSerializerFor CLR 형식 시스템 정보를 읽고 지정된 type에 있는 경우 특성에 따라 새 ValueSerializer 클래스를 반환하는 유틸리티 메서드입니다. null 는 이러한 직렬 변환기가 없는 경우 반환될 수 있습니다. null 는 형식이 의도적으로 null 값 ValueSerializerAttribute로 특성이 지정된 경우에도 반환될 수 있습니다.

를 지원하는 또 다른 모드 GetSerializerFor 는 를 래핑 TypeConverter 하고 메서드를 메서드 Convert*String 로 변환 Convert 하는 구현인 내부 TypeConverterValueSerializer 클래스 ValueSerializer 를 반환하는 것입니다(instance TypeConverter.ConvertTo 형식의 String 입력으로 호출되고 로 변환됩니다.ConvertToString 이 작업은 다음을 모두 충족하는 경우에만 수행됩니다.

참고

다음은 특수한 경우입니다. DateTime 형식은 를 DateTimeValueSerializerString 반환하고, 형식은 내부적이지만 기능적인 serializer(StringValueSerializer)를 반환합니다.

적용 대상

GetSerializerFor(PropertyDescriptor, IValueSerializerContext)

지정된 컨텍스트를 사용하여 지정된 속성에 선언된 ValueSerializer 를 가져옵니다.

public:
 static System::Windows::Markup::ValueSerializer ^ GetSerializerFor(System::ComponentModel::PropertyDescriptor ^ descriptor, System::Windows::Markup::IValueSerializerContext ^ context);
public static System.Windows.Markup.ValueSerializer GetSerializerFor (System.ComponentModel.PropertyDescriptor descriptor, System.Windows.Markup.IValueSerializerContext context);
static member GetSerializerFor : System.ComponentModel.PropertyDescriptor * System.Windows.Markup.IValueSerializerContext -> System.Windows.Markup.ValueSerializer
Public Shared Function GetSerializerFor (descriptor As PropertyDescriptor, context As IValueSerializerContext) As ValueSerializer

매개 변수

descriptor
PropertyDescriptor

직렬화할 속성의 설명자입니다.

context
IValueSerializerContext

변환에 사용되는 컨텍스트 정보입니다.

반환

지정된 속성과 연결된 직렬 변환기입니다.

예외

descriptor이(가) null인 경우

설명

이 오버로드는 CLR 형식 시스템에 보고된 특성에만 의존하는 대신 를 서비스로 사용하고 context 서비스의 구현 IValueSerializerContext.GetValueSerializerFor을 호출합니다. 구현은 IValueSerializerContext.GetValueSerializerFor 일반적으로 에 의존하지만 특정 컨텍스트에 descriptor대한 특수 동작을 구현할 수 있습니다.

호출자가 서비스에서 사용할 수 IValueSerializerContext 있는 가 있는 경우 이 메서드를 호출해야 합니다. 이렇게 하면 특정 컨텍스트에 대해 올바른 ValueSerializer 가 반환됩니다.

컨텍스트가 지정된 에 대해 에서 IValueSerializerContext.GetValueSerializerFor 반환 null 되거나 지정한 descriptor컨텍스트가 null인 경우 동작은 오버로드를 호출하는 GetSerializerFor(PropertyDescriptor) 것과 동일합니다.

적용 대상

GetSerializerFor(Type, IValueSerializerContext)

지정된 컨텍스트를 사용하여 지정된 형식에 대해 선언된 ValueSerializer 를 가져옵니다.

public:
 static System::Windows::Markup::ValueSerializer ^ GetSerializerFor(Type ^ type, System::Windows::Markup::IValueSerializerContext ^ context);
public static System.Windows.Markup.ValueSerializer GetSerializerFor (Type type, System.Windows.Markup.IValueSerializerContext context);
static member GetSerializerFor : Type * System.Windows.Markup.IValueSerializerContext -> System.Windows.Markup.ValueSerializer
Public Shared Function GetSerializerFor (type As Type, context As IValueSerializerContext) As ValueSerializer

매개 변수

type
Type

ValueSerializer 를 가져올 형식입니다.

context
IValueSerializerContext

변환에 사용되는 컨텍스트 정보입니다.

반환

지정된 형식과 연결된 직렬 변환기입니다.

예외

type이(가) null인 경우

설명

이 오버로드는 CLR 형식 시스템에 보고된 특성에만 의존하는 대신 를 서비스로 사용하고 context 서비스의 구현 IValueSerializerContext.GetValueSerializerFor을 호출합니다. 구현은 IValueSerializerContext.GetValueSerializerFor 일반적으로 에 의존하지만 특정 컨텍스트에 type대한 특수 동작을 구현할 수 있습니다.

호출자가 서비스에서 사용할 수 IValueSerializerContext 있는 가 있는 경우 이 메서드를 호출해야 합니다. 이렇게 하면 특정 컨텍스트에 대해 올바른 ValueSerializer 가 반환됩니다.

컨텍스트가 지정된 에 대해 에서 IValueSerializerContext.GetValueSerializerFor 반환 null 되거나 지정한 type컨텍스트가 null인 경우 동작은 오버로드를 호출하는 GetSerializerFor(Type) 것과 동일합니다.

적용 대상