ValueSerializer.GetSerializerFor メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オブジェクトの 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
を返す場合があります。
例外
descriptor
は null
です。
注釈
ValueSerializerプロパティの 場合、またはプロパティの値として使用される型の 場合は、 プロパティまたは型宣言に 属性をValueSerializerAttribute適用することによって示されます。 メソッドは GetSerializerFor 、CLR 型のシステム情報を読み取り、プロパティで見つかった場合は 属性に基づいて新しいクラスを返し、プロパティの型で見つかった場合は 新しい ValueSerializer クラスを返すユーティリティ メソッドです。
null
このようなシリアライザーが存在しない場合は、 が返される可能性があります。
null
型またはプロパティが意図的に null 値 ValueSerializerAttributeで属性付けされている場合にも、 が返される場合があります。
をサポートする GetSerializerFor もう 1 つのモードは、内部 TypeConverterValueSerializer
クラスを返す方法です。これは ValueSerializer 、 をラップ TypeConverter し、メソッドを Convert
メソッドに変換する Convert*String
実装です (たとえば TypeConverter.ConvertTo 、 型の String 入力を使用して 呼び出され、 に ConvertToString変換されます)。 これは、次のすべてが当てはまる場合にのみ行われます。
TypeConverterAttributeは、関連するプロパティ、または関連するプロパティの型で見つかります。
示された TypeConverter を正常に構築できます。
は TypeConverter 型を
true
TypeConverter.ConvertTo参照する と呼ばれる の をString返します。は TypeConverter 型を
true
TypeConverter.CanConvertTo参照する と呼ばれる の をString返します。は TypeConverter 型を
true
TypeConverter.CanConvertFrom参照する と呼ばれる の をString返します。
注意
特殊なケースを次に示します。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
を返す場合があります。
例外
type
が null
です。
注釈
型の は ValueSerializer 、型宣言に 属性を ValueSerializerAttribute 適用することによって示されます。 メソッドはGetSerializerFor、CLR 型のシステム情報を読み取り、指定した type
で見つかった場合に 属性に基づいて新しいValueSerializerクラスを返すユーティリティ メソッドです。
null
このようなシリアライザーが存在しない場合は、 が返される可能性があります。
null
型が意図的に null 値 ValueSerializerAttributeで属性付けされている場合は、 も返される可能性があります。
をサポートする GetSerializerFor もう 1 つのモードは、内部 TypeConverterValueSerializer
クラスを返す方法です。これは ValueSerializer 、 をラップ TypeConverter し、メソッドを Convert
メソッドに変換する Convert*String
実装です (たとえば TypeConverter.ConvertTo 、 型の String 入力を使用して 呼び出され、 に ConvertToString変換されます)。 これは、次のすべてが当てはまる場合にのみ行われます。
TypeConverterAttributeは にあります
type
。示された TypeConverter を正常に構築できます。
は TypeConverter 型を
true
TypeConverter.ConvertTo参照する と呼ばれる の をString返します。は TypeConverter 型を
true
TypeConverter.CanConvertTo参照する と呼ばれる の をString返します。は TypeConverter 型を
true
TypeConverter.CanConvertFrom参照する と呼ばれる の をString返します。
注意
特殊なケースを次に示します。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
変換のために使用されるコンテキスト情報。
戻り値
指定したプロパティに関連付けられているシリアライザー。
例外
descriptor
が null
です。
注釈
このオーバーロードは、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
変換のために使用されるコンテキスト情報。
戻り値
指定した型に関連付けられているシリアライザー。
例外
type
が null
です。
注釈
このオーバーロードは、CLR 型システムで報告される属性に純粋に依存するのではなく、 をサービスとして使用 context
し、サービスの の実装 IValueSerializerContext.GetValueSerializerForを呼び出します。 実装は IValueSerializerContext.GetValueSerializerFor 通常、 にも依存しますが、特定の type
コンテキストに対して特別な動作を実装する場合があります。
呼び出し元がサービスから使用可能 IValueSerializerContext な 場合は、このメソッドを呼び出す必要があります。 これにより、特定のコンテキストに対して正しい ValueSerializer が確実に返されます。
指定した の コンテキストから を返すnull
場合、または指定type
したコンテキストが の場合、null
動作はオーバーロードのGetSerializerFor(Type)呼び出しと同IValueSerializerContext.GetValueSerializerForじです。
適用対象
.NET