ValueSerializer.GetSerializerFor Methode

Definition

Ruft den ValueSerializer für ein Objekt ab.

Überlädt

Name Beschreibung
GetSerializerFor(PropertyDescriptor)

Ruft die ValueSerializer deklarierte Eigenschaft ab, indem ein CLR-Eigenschaftsdeskriptor für die Eigenschaft übergeben wird.

GetSerializerFor(Type)

Ruft die ValueSerializer deklarierte für den angegebenen Typ ab.

GetSerializerFor(PropertyDescriptor, IValueSerializerContext)

Ruft die ValueSerializer deklarierte für die angegebene Eigenschaft mithilfe des angegebenen Kontexts ab.

GetSerializerFor(Type, IValueSerializerContext)

Ruft die ValueSerializer deklarierte für den angegebenen Typ mithilfe des angegebenen Kontexts ab.

GetSerializerFor(PropertyDescriptor)

Ruft die ValueSerializer deklarierte Eigenschaft ab, indem ein CLR-Eigenschaftsdeskriptor für die Eigenschaft übergeben wird.

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

Der CLR-Eigenschaftsdeskriptor für die zu serialisierende Eigenschaft.

Gibt zurück

Der serialisierer, der der angegebenen Eigenschaft zugeordnet ist. Mai rückgabe null.

Ausnahmen

descriptor ist null.

Hinweise

A ValueSerializer für eine Eigenschaft oder für einen Typ, der als Wert für eine Eigenschaft verwendet wird, wird durch Anwenden des ValueSerializerAttribute Attributs auf die Eigenschaft oder Typdeklaration angegeben. Die GetSerializerFor Methode ist eine Hilfsmethode, die die CLR-Typsysteminformationen liest und eine neue ValueSerializer Klasse basierend auf dem Attribut zurückgibt, wenn sie in der Eigenschaft gefunden wird, oder wenn sie im Eigenschaftentyp gefunden wird. null kann zurückgegeben werden, wenn kein solcher Serialisierer vorhanden ist. null kann auch zurückgegeben werden, wenn ein Typ oder eine Eigenschaft absichtlich einem NULL-Wert ValueSerializerAttributezugeordnet wird.

Ein anderer Modus, der unterstützt, GetSerializerFor gibt die interne TypeConverterValueSerializer Klasse zurück, bei der es sich um eine ValueSerializer Implementierung handelt, die die TypeConverter Methoden umschließt und die Convert Methoden in Convert*String Methoden übersetzt (z TypeConverter.ConvertTo . B. wird mit Eingabe des String Typs aufgerufen und übersetzt in ConvertToString. Dies geschieht nur in Fällen, in denen alle folgenden Punkte zutreffen:

Note

Es folgen Sonderfälle: DateTime Typen geben einen DateTimeValueSerializer; String Typen geben einen internen, aber funktionalen Serialisierer (StringValueSerializer) zurück.

Gilt für:

GetSerializerFor(Type)

Ruft die ValueSerializer deklarierte für den angegebenen Typ ab.

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

Der Typ, für den sie ValueSerializer abgerufen werden soll.

Gibt zurück

Der serialisierer, der dem angegebenen Typ zugeordnet ist. Mai rückgabe null.

Ausnahmen

type ist null.

Hinweise

A ValueSerializer für einen Typ wird durch Anwenden des ValueSerializerAttribute Attributs auf die Typdeklaration angegeben. Die GetSerializerFor Methode ist eine Hilfsmethode, die die CLR-Typsysteminformationen liest und eine neue ValueSerializer Klasse basierend auf dem Attribut zurückgibt, wenn sie auf dem angegebenen typeElement gefunden wird. null kann zurückgegeben werden, wenn kein solcher Serialisierer vorhanden ist. null kann auch zurückgegeben werden, wenn ein Typ absichtlich einem NULL-Wert ValueSerializerAttributezugeordnet wird.

Ein anderer Modus, der unterstützt, GetSerializerFor gibt die interne TypeConverterValueSerializer Klasse zurück, bei der es sich um eine ValueSerializer Implementierung handelt, die die TypeConverter Methoden umschließt und die Convert Methoden in Convert*String Methoden übersetzt (z TypeConverter.ConvertTo . B. wird mit Eingabe des String Typs aufgerufen und übersetzt in ConvertToString. Dies geschieht nur in Fällen, in denen alle folgenden Punkte zutreffen:

Note

Es folgen Sonderfälle: DateTime Typen geben einen DateTimeValueSerializer; String Typen geben einen internen, aber funktionalen Serialisierer (StringValueSerializer) zurück.

Gilt für:

GetSerializerFor(PropertyDescriptor, IValueSerializerContext)

Ruft die ValueSerializer deklarierte für die angegebene Eigenschaft mithilfe des angegebenen Kontexts ab.

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 für die zu serialisierende Eigenschaft.

context
IValueSerializerContext

Kontextinformationen, die für die Konvertierung verwendet werden.

Gibt zurück

Der serialisierer, der der angegebenen Eigenschaft zugeordnet ist.

Ausnahmen

descriptor ist null.

Hinweise

Anstatt sich ausschließlich auf im CLR-Typsystem gemeldete Attribute zu verlassen, verwendet diese Überladung den context As a Service und ruft die Implementierung IValueSerializerContext.GetValueSerializerFordes Diensts auf. Die IValueSerializerContext.GetValueSerializerFor Implementierung würde in der Regel auch auf das descriptor, aber möglicherweise ein spezielles Verhalten für bestimmte Kontexte implementieren.

Diese Methode sollte aufgerufen werden, wenn der Aufrufer über einen Dienst verfügt IValueSerializerContext . Dadurch wird sichergestellt, dass der richtige ValueSerializer Für den spezifischen Kontext zurückgegeben wird.

Wenn der Kontext von seinem angegebenen Kontext zurückgegeben null wird oder wenn der von Ihnen angegebene IValueSerializerContext.GetValueSerializerForKontext lautetdescriptor, ist das Verhalten identisch mit dem Aufrufen der null Überladung.GetSerializerFor(PropertyDescriptor)

Gilt für:

GetSerializerFor(Type, IValueSerializerContext)

Ruft die ValueSerializer deklarierte für den angegebenen Typ mithilfe des angegebenen Kontexts ab.

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

Der Typ, für den sie ValueSerializer abgerufen werden soll.

context
IValueSerializerContext

Kontextinformationen, die für die Konvertierung verwendet werden.

Gibt zurück

Der serialisierer, der dem angegebenen Typ zugeordnet ist.

Ausnahmen

type ist null.

Hinweise

Anstatt sich ausschließlich auf im CLR-Typsystem gemeldete Attribute zu verlassen, verwendet diese Überladung den context As a Service und ruft die Implementierung IValueSerializerContext.GetValueSerializerFordes Diensts auf. Die IValueSerializerContext.GetValueSerializerFor Implementierung würde in der Regel auch auf das type, aber möglicherweise ein spezielles Verhalten für bestimmte Kontexte implementieren.

Diese Methode sollte aufgerufen werden, wenn der Aufrufer über einen Dienst verfügt IValueSerializerContext . Dadurch wird sichergestellt, dass der richtige ValueSerializer Für den spezifischen Kontext zurückgegeben wird.

Wenn der Kontext von seinem angegebenen Kontext zurückgegeben null wird oder wenn der von Ihnen angegebene IValueSerializerContext.GetValueSerializerForKontext lautettype, ist das Verhalten identisch mit dem Aufrufen der null Überladung.GetSerializerFor(Type)

Gilt für: