IDataContractSurrogate.GetReferencedTypeOnImport(String, String, Object) Метод

Определение

При выполнении импорта схемы возвращает тип, на который ссылается схема.During schema import, returns the type referenced by the schema.

public:
 Type ^ GetReferencedTypeOnImport(System::String ^ typeName, System::String ^ typeNamespace, System::Object ^ customData);
public Type GetReferencedTypeOnImport (string typeName, string typeNamespace, object customData);
abstract member GetReferencedTypeOnImport : string * string * obj -> Type
Public Function GetReferencedTypeOnImport (typeName As String, typeNamespace As String, customData As Object) As Type

Параметры

typeName
String

Имя типа в схеме.The name of the type in schema.

typeNamespace
String

Пространство имен типа в схеме.The namespace of the type in schema.

customData
Object

Объект, представляющий вставленную в определение схемы XML заметку, содержащую данные, которые можно использовать для поиска типа, на который задана ссылка.The object that represents the annotation inserted into the XML schema definition, which is data that can be used for finding the referenced type.

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

Type

Тип Type, используемый для типа, на который задана ссылка.The Type to use for the referenced type.

Примеры

В следующем примере показана реализация метода GetReferencedTypeOnImport.The following example shows an implementation of the GetReferencedTypeOnImport method.

public Type GetReferencedTypeOnImport(string typeName,
    string typeNamespace, object customData)
{
    Console.WriteLine("GetReferencedTypeOnImport invoked");
    // This method is called on schema import.
    // If a PersonSurrogated data contract is
    // in the specified namespace, do not create a new type for it
    // because there is already an existing type, "Person".
    Console.WriteLine( "\t Type Name: {0}", typeName);

    if (typeName.Equals("PersonSurrogated") )
    {
        Console.WriteLine("Returning Person");
        return typeof(Person);
    }
    return null;
}
Public Function GetReferencedTypeOnImport(ByVal typeName As String, _
    ByVal typeNamespace As String, ByVal customData As Object) As Type _
    Implements IDataContractSurrogate.GetReferencedTypeOnImport
    Console.WriteLine("GetReferencedTypeOnImport invoked")
    ' This method is called on schema import.
    ' If a PersonSurrogated data contract is 
    ' in the specified namespace, do not create a new type for it 
    ' because there is already an existing type, "Person".
    Console.WriteLine(vbTab & "Type Name: {0}", typeName)

    'If typeNamespace.Equals("http://schemas.datacontract.org/2004/07/DCSurrogateSample") Then
    If typeName.Equals("PersonSurrogated") Then
        Console.WriteLine("Returning Person")
        Return GetType(Person)
    End If
    'End If
    Return Nothing

End Function

Комментарии

Если тип среды CLR для представления типа схемы не существует, должно быть возвращено значение Null.Null should be returned if a CLR type does not exist for representing the schema type. В результате этого при выполнении импорта схемы будет создан новый тип.This will cause a new type to be generated during schema import.

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