DataContractResolver.ResolveName Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Overschrijf deze methode om de opgegeven xsi:type naam en naamruimte toe te wijzen aan een gegevenscontracttype tijdens deserialisatie.
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
Parameters
- typeName
- String
De xsi:type naam die moet worden toegewezen.
- typeNamespace
- String
De xsi:type naamruimte die moet worden toegewezen.
- declaredType
- Type
Het type dat in het gegevenscontract is gedeclareerd.
- knownTypeResolver
- DataContractResolver
De bekende type-resolver.
Retouren
Het type waaraan de xsi:type naam en naamruimte zijn toegewezen.
Voorbeelden
In het volgende voorbeeld ziet u een implementatie van de ResolveName methode.
// 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;
}
}
Opmerkingen
Als u de logica voor bekende typeomzetting in uw implementatie wilt gebruiken, wordt er een verwijzing naar deze logica doorgegeven als de knownTypeResolver parameter.