DataContractResolver.ResolveName Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Seri durumdan çıkarma sırasında belirtilen xsi:type
adı ve ad alanını bir veri sözleşmesi türüyle eşlemek için bu yöntemi geçersiz kılın.
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
Parametreler
- typeName
- String
Eşlenecek xsi:type
ad.
- typeNamespace
- String
Eşlenecek xsi:type
ad alanı.
- declaredType
- Type
Veri sözleşmesinde bildirilen tür.
- knownTypeResolver
- DataContractResolver
Bilinen tür çözümleyici.
Döndürülenler
Adın xsi:type
ve ad alanının eşlendiği tür.
Örnekler
Aşağıdaki örnekte yönteminin bir uygulaması gösterilmektedir ResolveName .
// 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;
}
}
Açıklamalar
Uygulamanızın içinde bilinen tür çözümleme mantığını kullanmak istiyorsanız, parametre olarak knownTypeResolver
buna bir başvuru geçirilir.