IDataContractSurrogate.GetReferencedTypeOnImport 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.
Ş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.