DataContractResolver.TryResolveType 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.
Serileştirme sırasında bir veri sözleşmesi türünü bir xsi:type
ad ve ad alanıyla eşlemek için bu yöntemi geçersiz kılın.
public:
abstract bool TryResolveType(Type ^ type, Type ^ declaredType, System::Runtime::Serialization::DataContractResolver ^ knownTypeResolver, [Runtime::InteropServices::Out] System::Xml::XmlDictionaryString ^ % typeName, [Runtime::InteropServices::Out] System::Xml::XmlDictionaryString ^ % typeNamespace);
public abstract bool TryResolveType (Type type, Type declaredType, System.Runtime.Serialization.DataContractResolver knownTypeResolver, out System.Xml.XmlDictionaryString typeName, out System.Xml.XmlDictionaryString typeNamespace);
public abstract bool TryResolveType (Type type, Type? declaredType, System.Runtime.Serialization.DataContractResolver knownTypeResolver, out System.Xml.XmlDictionaryString? typeName, out System.Xml.XmlDictionaryString? typeNamespace);
abstract member TryResolveType : Type * Type * System.Runtime.Serialization.DataContractResolver * XmlDictionaryString * XmlDictionaryString -> bool
Public MustOverride Function TryResolveType (type As Type, declaredType As Type, knownTypeResolver As DataContractResolver, ByRef typeName As XmlDictionaryString, ByRef typeNamespace As XmlDictionaryString) As Boolean
Parametreler
- type
- Type
Eşlenecek tür.
- declaredType
- Type
Veri sözleşmesinde bildirilen tür.
- knownTypeResolver
- DataContractResolver
Bilinen tür çözümleyici.
- typeName
- XmlDictionaryString
xsi:type adı.
- typeNamespace
- XmlDictionaryString
xsi:type ad alanı.
Döndürülenler
true
eşleme başarılı olursa; aksi takdirde , false
.
Örnekler
Aşağıdaki örnekte yönteminin bir uygulaması gösterilmektedir TryResolveType .
// Used at serialization
// Maps any Type to a new xsi:type representation
public override bool TryResolveType(Type type, Type declaredType, DataContractResolver knownTypeResolver, out XmlDictionaryString typeName, out XmlDictionaryString typeNamespace)
{
string name = type.Name;
string namesp = type.Namespace;
typeName = new XmlDictionaryString(XmlDictionary.Empty, name, 0);
typeNamespace = new XmlDictionaryString(XmlDictionary.Empty, namesp, 0);
if (!dictionary.ContainsKey(type.Name))
{
dictionary.Add(name, typeName);
}
if (!dictionary.ContainsKey(type.Namespace))
{
dictionary.Add(namesp, typeNamespace);
}
return true;
}
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.