ValueSerializer.GetSerializerFor Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
ValueSerializer Mendapatkan untuk objek .
Overload
GetSerializerFor(PropertyDescriptor) |
Mendapatkan yang ValueSerializer dideklarasikan untuk properti, dengan meneruskan deskriptor properti CLR untuk properti . |
GetSerializerFor(Type) |
Mendapatkan yang ValueSerializer dideklarasikan untuk jenis yang ditentukan. |
GetSerializerFor(PropertyDescriptor, IValueSerializerContext) |
Mendapatkan yang ValueSerializer dideklarasikan untuk properti yang ditentukan, menggunakan konteks yang ditentukan. |
GetSerializerFor(Type, IValueSerializerContext) |
Mendapatkan yang ValueSerializer dideklarasikan untuk jenis yang ditentukan, menggunakan konteks yang ditentukan. |
GetSerializerFor(PropertyDescriptor)
Mendapatkan yang ValueSerializer dideklarasikan untuk properti, dengan meneruskan deskriptor properti CLR untuk properti .
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
Parameter
- descriptor
- PropertyDescriptor
Deskriptor properti CLR untuk properti yang akan diserialisasikan.
Mengembalikan
Serializer yang terkait dengan properti yang ditentukan. Dapat mengembalikan null
.
Pengecualian
descriptor
adalah null
.
Keterangan
ValueSerializer untuk properti, atau untuk jenis yang digunakan sebagai nilai untuk properti, ditunjukkan dengan menerapkan ValueSerializerAttribute atribut pada properti atau deklarasi jenis. Metode GetSerializerFor ini adalah metode utilitas yang membaca informasi sistem jenis CLR dan mengembalikan kelas baru ValueSerializer berdasarkan atribut jika ditemukan pada properti , atau kemudian jika ditemukan pada jenis properti.
null
mungkin dikembalikan jika tidak ada serializer tersebut.
null
mungkin juga dikembalikan jika jenis atau properti sengaja dikaitkan dengan nilai ValueSerializerAttributenull .
Mode lain yang GetSerializerFor mendukung adalah mengembalikan kelas internal TypeConverterValueSerializer
, yang merupakan ValueSerializer implementasi yang membungkus TypeConverter dan menerjemahkan Convert
metode ke Convert*String
metode (misalnya TypeConverter.ConvertTo dipanggil dengan input jenis String , dan diterjemahkan ke ConvertToString. Ini dilakukan hanya dalam kasus di mana semua hal berikut ini benar:
TypeConverterAttribute ditemukan pada properti yang relevan, atau jenis properti yang relevan.
yang ditunjukkan TypeConverter dapat berhasil dibangun.
Pengembalian TypeConverter untuk TypeConverter.ConvertTo, yang disebut mereferensikan String jenis .
true
Pengembalian TypeConverter untuk TypeConverter.CanConvertTo, yang disebut mereferensikan String jenis .
true
Pengembalian TypeConverter untuk TypeConverter.CanConvertFrom, yang disebut mereferensikan String jenis .
true
Catatan
Berikut ini adalah kasus khusus: DateTime jenis mengembalikan DateTimeValueSerializer; String jenis mengembalikan serializer internal tetapi fungsi (StringValueSerializer
).
Berlaku untuk
GetSerializerFor(Type)
Mendapatkan yang ValueSerializer dideklarasikan untuk jenis yang ditentukan.
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
Parameter
- type
- Type
Jenis untuk mendapatkan ValueSerializer untuk.
Mengembalikan
Serializer yang terkait dengan jenis yang ditentukan. Dapat mengembalikan null
.
Pengecualian
type
adalah null
.
Keterangan
ValueSerializer Untuk jenis ditunjukkan dengan menerapkan ValueSerializerAttribute atribut pada deklarasi jenis. Metode GetSerializerFor ini adalah metode utilitas yang membaca informasi sistem jenis CLR dan mengembalikan kelas baru ValueSerializer berdasarkan atribut jika ditemukan pada yang ditentukan type
.
null
mungkin dikembalikan jika tidak ada serializer tersebut.
null
mungkin juga dikembalikan jika jenis sengaja dikaitkan dengan nilai ValueSerializerAttributenull .
Mode lain yang GetSerializerFor mendukung adalah mengembalikan kelas internal TypeConverterValueSerializer
, yang merupakan ValueSerializer implementasi yang membungkus TypeConverter dan menerjemahkan Convert
metode ke Convert*String
metode (misalnya TypeConverter.ConvertTo dipanggil dengan input jenis String , dan diterjemahkan ke ConvertToString. Ini dilakukan hanya dalam kasus di mana semua hal berikut ini benar:
TypeConverterAttribute ditemukan di
type
.yang ditunjukkan TypeConverter dapat berhasil dibangun.
Pengembalian TypeConverter untuk TypeConverter.ConvertTo, yang disebut mereferensikan String jenis .
true
Pengembalian TypeConverter untuk TypeConverter.CanConvertTo, yang disebut mereferensikan String jenis .
true
Pengembalian TypeConverter untuk TypeConverter.CanConvertFrom, yang disebut mereferensikan String jenis .
true
Catatan
Berikut ini adalah kasus khusus: DateTime jenis mengembalikan DateTimeValueSerializer; String jenis mengembalikan serializer internal tetapi fungsi (StringValueSerializer
).
Berlaku untuk
GetSerializerFor(PropertyDescriptor, IValueSerializerContext)
Mendapatkan yang ValueSerializer dideklarasikan untuk properti yang ditentukan, menggunakan konteks yang ditentukan.
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
Parameter
- descriptor
- PropertyDescriptor
Deskriptor untuk properti yang akan diserialisasikan.
- context
- IValueSerializerContext
Informasi konteks yang digunakan untuk konversi.
Mengembalikan
Serializer yang terkait dengan properti yang ditentukan.
Pengecualian
descriptor
adalah null
.
Keterangan
Daripada mengandalkan murni pada atribut yang dilaporkan dalam sistem jenis CLR, kelebihan beban ini menggunakan context
sebagai layanan, dan memanggil implementasi layanan .IValueSerializerContext.GetValueSerializerFor Implementasi IValueSerializerContext.GetValueSerializerFor biasanya juga akan mengandalkan descriptor
, tetapi mungkin menerapkan perilaku khusus untuk konteks tertentu.
Metode ini harus dipanggil ketika pemanggil memiliki yang tersedia IValueSerializerContext dari layanan. Ini akan memastikan bahwa yang benar ValueSerializer dikembalikan untuk konteks tertentu.
Jika konteks kembali null
dari IValueSerializerContext.GetValueSerializerFor konteks untuk yang Anda tentukan descriptor
, atau jika konteks yang Anda tentukan adalah null
, maka perilaku identik dengan memanggil GetSerializerFor(PropertyDescriptor) kelebihan beban.
Berlaku untuk
GetSerializerFor(Type, IValueSerializerContext)
Mendapatkan yang ValueSerializer dideklarasikan untuk jenis yang ditentukan, menggunakan konteks yang ditentukan.
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
Parameter
- type
- Type
Jenis untuk mendapatkan ValueSerializer untuk.
- context
- IValueSerializerContext
Informasi konteks yang digunakan untuk konversi.
Mengembalikan
Serializer yang terkait dengan jenis yang ditentukan.
Pengecualian
type
adalah null
.
Keterangan
Daripada mengandalkan murni pada atribut yang dilaporkan dalam sistem jenis CLR, kelebihan beban ini menggunakan context
sebagai layanan, dan memanggil implementasi layanan .IValueSerializerContext.GetValueSerializerFor Implementasi IValueSerializerContext.GetValueSerializerFor biasanya juga akan mengandalkan type
, tetapi mungkin menerapkan perilaku khusus untuk konteks tertentu.
Metode ini harus dipanggil ketika pemanggil memiliki yang tersedia IValueSerializerContext dari layanan. Ini akan memastikan bahwa yang benar ValueSerializer dikembalikan untuk konteks tertentu.
Jika konteks kembali null
dari IValueSerializerContext.GetValueSerializerFor konteks untuk yang Anda tentukan type
, atau jika konteks yang Anda tentukan adalah null
, maka perilaku identik dengan memanggil GetSerializerFor(Type) kelebihan beban.