Поделиться через


IDataContractSurrogate.GetDataContractType(Type) Метод

Определение

При выполнении сериализации, десериализации, а также импорта и экспорта схемы возвращает тип контракта данных, заменяющий указанный тип.

public:
 Type ^ GetDataContractType(Type ^ type);
public Type GetDataContractType (Type type);
abstract member GetDataContractType : Type -> Type
Public Function GetDataContractType (type As Type) As Type

Параметры

type
Type

Заменяемый тип среды CLR Type.

Возвращаемое значение

Тип Type, заменяемый значением type. Этот тип должен быть сериализуем методом DataContractSerializer. Например, он должен быть помечен атрибутом DataContractAttribute или другими распознаваемыми сериализатором механизмами.

Примеры

В следующем примере показана реализация метода GetDataContractType.

    public Type GetDataContractType(Type type)
{
        Console.WriteLine("GetDataContractType invoked");
        Console.WriteLine("\t type name: {0}", type.Name);
        // "Person" will be serialized as "PersonSurrogated"
        // This method is called during serialization,
        // deserialization, and schema export.
        if (typeof(Person).IsAssignableFrom(type))
{
Console.WriteLine("\t returning PersonSurrogated");
            return typeof(PersonSurrogated);
        }
        return type;
    }
Public Function GetDataContractType(ByVal type As Type) As Type _
   Implements IDataContractSurrogate.GetDataContractType
    Console.WriteLine("GetDataContractType invoked")
    Console.WriteLine(vbTab & "type name: {0}", type.Name)
    ' "Person" will be serialized as "PersonSurrogated"
    ' This method is called during serialization,
    ' deserialization, and schema export.
    If GetType(Person).IsAssignableFrom(type) Then
        Console.WriteLine(vbTab & "returning PersonSurrogated")
        Return GetType(PersonSurrogated)
    End If
    Return type

End Function

Применяется к