DataContractResolver.ResolveName Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přepsat tuto metodu mapovat zadaný xsi:type
název a obor názvů na typ kontraktu dat během deserializace.
public:
abstract Type ^ ResolveName(System::String ^ typeName, System::String ^ typeNamespace, Type ^ declaredType, System::Runtime::Serialization::DataContractResolver ^ knownTypeResolver);
public abstract Type ResolveName (string typeName, string typeNamespace, Type declaredType, System.Runtime.Serialization.DataContractResolver knownTypeResolver);
public abstract Type? ResolveName (string typeName, string? typeNamespace, Type? declaredType, System.Runtime.Serialization.DataContractResolver knownTypeResolver);
abstract member ResolveName : string * string * Type * System.Runtime.Serialization.DataContractResolver -> Type
Public MustOverride Function ResolveName (typeName As String, typeNamespace As String, declaredType As Type, knownTypeResolver As DataContractResolver) As Type
Parametry
- typeName
- String
Název xsi:type
, který chcete namapovat.
- typeNamespace
- String
Obor xsi:type
názvů, který se má mapovat.
- declaredType
- Type
Typ deklarovaný v kontraktu dat.
- knownTypeResolver
- DataContractResolver
Překladač známého typu.
Návraty
Typ, na který je xsi:type
namapován název a obor názvů.
Příklady
Následující příklad ukazuje implementaci ResolveName metody .
// Used at deserialization
// Allows users to map xsi:type name to any Type
public override Type ResolveName(string typeName, string typeNamespace, Type declaredType, DataContractResolver knownTypeResolver)
{
XmlDictionaryString tName;
XmlDictionaryString tNamespace;
if (dictionary.TryGetValue(typeName, out tName) && dictionary.TryGetValue(typeNamespace, out tNamespace))
{
return this.assembly.GetType(tNamespace.Value + "." + tName.Value);
}
else
{
return null;
}
}
Poznámky
Pokud chcete v rámci implementace použít logiku překladu známého typu, předá se odkaz na ni jako knownTypeResolver
parametr .