Share via


IDataContractSurrogate.GetReferencedTypeOnImport Yöntem

Tanım

Şema içeri aktarma sırasında, şema tarafından başvuruda bulunan türü döndürür.

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

Parametreler

typeName
String

Şemadaki türün adı.

typeNamespace
String

Şemadaki türün ad alanı.

customData
Object

XML şema tanımına eklenen ek açıklamayı temsil eden nesne; başvurulan türü bulmak için kullanılabilecek verilerdir.

Döndürülenler

Type Başvuruda bulunan tür için kullanılacak.

Örnekler

Aşağıdaki örnekte yönteminin bir uygulaması gösterilmektedir GetReferencedTypeOnImport .

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

Açıklamalar

Null şema türünü temsil etmek için bir CLR türü yoksa döndürülmelidir. Bu, şema içeri aktarma sırasında yeni bir tür oluşturulmasına neden olur.

Şunlara uygulanır