DataContractResolver.ResolveName Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Remplacez cette méthode pour mapper le nom et l’espace de noms spécifiés xsi:type à un type de contrat de données lors de la désérialisation.
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);
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
Paramètres
- typeName
- String
Nom xsi:type à mapper.
- typeNamespace
- String
Espace xsi:type de noms à mapper.
- declaredType
- Type
Type déclaré dans le contrat de données.
- knownTypeResolver
- DataContractResolver
Programme de résolution de type connu.
Retours
Type auquel le nom et l’espace xsi:type de noms sont mappés.
Exemples
L’exemple suivant montre une implémentation de la ResolveName méthode.
// 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;
}
}
Remarques
Si vous souhaitez utiliser la logique de résolution de type connue à l’intérieur de votre implémentation, une référence à celle-ci est transmise en tant que knownTypeResolver paramètre.