次の方法で共有


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 もう 1 つのモードは、内部 TypeConverterValueSerializer クラスを返す方法です。これは ValueSerializer 、 をラップ TypeConverter し、メソッドを Convert メソッドに変換する Convert*String 実装です (たとえば TypeConverter.ConvertTo 、 型の String 入力を使用して 呼び出され、 に ConvertToString変換されます)。 これは、次のすべてが当てはまる場合にのみ行われます。

注意

特殊なケースを次に示します。DateTime型は をDateTimeValueSerializerString返します。型は、内部的で機能的なシリアライザー (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 を返す場合があります。

例外

typenullです。

注釈

型の は ValueSerializer 、型宣言に 属性を ValueSerializerAttribute 適用することによって示されます。 メソッドはGetSerializerFor、CLR 型のシステム情報を読み取り、指定した typeで見つかった場合に 属性に基づいて新しいValueSerializerクラスを返すユーティリティ メソッドです。 null このようなシリアライザーが存在しない場合は、 が返される可能性があります。 null 型が意図的に null 値 ValueSerializerAttributeで属性付けされている場合は、 も返される可能性があります。

をサポートする GetSerializerFor もう 1 つのモードは、内部 TypeConverterValueSerializer クラスを返す方法です。これは ValueSerializer 、 をラップ TypeConverter し、メソッドを Convert メソッドに変換する Convert*String 実装です (たとえば TypeConverter.ConvertTo 、 型の String 入力を使用して 呼び出され、 に ConvertToString変換されます)。 これは、次のすべてが当てはまる場合にのみ行われます。

注意

特殊なケースを次に示します。DateTime型は をDateTimeValueSerializerString返します。型は、内部的で機能的なシリアライザー (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

変換のために使用されるコンテキスト情報。

戻り値

指定したプロパティに関連付けられているシリアライザー。

例外

descriptornullです。

注釈

このオーバーロードは、CLR 型システムで報告される属性に純粋に依存するのではなく、 をサービスとして使用 context し、サービスの の実装 IValueSerializerContext.GetValueSerializerForを呼び出します。 実装は IValueSerializerContext.GetValueSerializerFor 通常、 にも依存しますが、特定の descriptorコンテキストに対して特別な動作を実装する場合があります。

呼び出し元がサービスから使用可能 IValueSerializerContext な 場合は、このメソッドを呼び出す必要があります。 これにより、特定のコンテキストに対して正しい ValueSerializer が確実に返されます。

指定した の コンテキストから を返すnull場合、または指定descriptorしたコンテキストが の場合、null動作はオーバーロードのGetSerializerFor(PropertyDescriptor)呼び出しと同IValueSerializerContext.GetValueSerializerForじです。

適用対象

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

変換のために使用されるコンテキスト情報。

戻り値

指定した型に関連付けられているシリアライザー。

例外

typenullです。

注釈

このオーバーロードは、CLR 型システムで報告される属性に純粋に依存するのではなく、 をサービスとして使用 context し、サービスの の実装 IValueSerializerContext.GetValueSerializerForを呼び出します。 実装は IValueSerializerContext.GetValueSerializerFor 通常、 にも依存しますが、特定の typeコンテキストに対して特別な動作を実装する場合があります。

呼び出し元がサービスから使用可能 IValueSerializerContext な 場合は、このメソッドを呼び出す必要があります。 これにより、特定のコンテキストに対して正しい ValueSerializer が確実に返されます。

指定した の コンテキストから を返すnull場合、または指定typeしたコンテキストが の場合、null動作はオーバーロードのGetSerializerFor(Type)呼び出しと同IValueSerializerContext.GetValueSerializerForじです。

適用対象