Sınıflardan Şemaları Dışa Aktarma
Veri sözleşmesi modelinde kullanılan sınıflardan XML Şema tanım dili (XSD) şemaları oluşturmak için sınıfını XsdDataContractExporter kullanın. Bu konuda şema oluşturma işlemi açıklanmaktadır.
Dışarı Aktarma İşlemi
Şema dışarı aktarma işlemi bir veya daha fazla türle başlar ve bu türlerin XML projeksiyonunu açıklayan bir XmlSchemaSet oluşturur.
, XmlSchemaSet
bir XSD Şema belgeleri kümesini temsil eden .NET Framework'ün Şema Nesne Modeli'nin (SOM) bir parçasıdır. bir XmlSchemaSet
öğesinden XSD belgeleri oluşturmak için sınıfının özelliğinden SchemasXmlSchemaSet
şema koleksiyonunu kullanın. Ardından kullanarak her XmlSchema nesneyi seri hale getirin XmlSerializer.
Şemaları dışarı aktarmak için
XsdDataContractExporter nesnesinin bir örneğini oluşturun.
isteğe bağlı. Oluşturucuya bir XmlSchemaSet geçirin. Bu durumda, şema dışarı aktarma sırasında oluşturulan şema boş XmlSchemaSetbir ile başlamak yerine bu XmlSchemaSet örneğe eklenir.
isteğe bağlı. Yöntemlerden birini çağırın CanExport . yöntemi, belirtilen türün dışarı aktarılıp aktarılamayacağını belirler. yöntemi, sonraki adımda yöntemiyle
Export
aynı aşırı yüklemelere sahiptir.Yöntemlerden birini çağırın Export . Bir , bir Typenesne veya nesneden
Type
oluşan Assembly üç List<T> aşırı yükleme List<T> vardır. Son durumda, verilen tüm derlemelerdeki tüm türler dışarı aktarılır.Yöntemine yapılan birden çok çağrı,
Export
aynıXmlSchemaSet
öğesine birden çok öğe eklenmesine neden olur. zaten varsa içinde bir tür oluşturulmazXmlSchemaSet
. Bu nedenle, aynıXsdDataContractExporter
üzerinde birden çok kez çağrılmasıExport
, sınıfın birden çok örneğiniXsdDataContractExporter
oluşturmak için tercih edilir. Bu, yinelenen şema türlerinin oluşturulmasını önler.Not
Dışarı aktarma sırasında bir hata olursa,
XmlSchemaSet
tahmin edilemeyen bir durumda olur.özelliği aracılığıyla öğesine XmlSchemaSet erişin Schemas .
Dışarı Aktarma Seçenekleri
dışarı aktarma işleminin OptionsXsdDataContractExporter çeşitli yönlerini denetlemek için öğesinin ExportOptions özelliğini sınıfının bir örneğine ayarlayabilirsiniz. Özellikle aşağıdaki seçenekleri ayarlayabilirsiniz:
KnownTypes. Bu koleksiyonu,
Type
dışarı aktarılan türler için bilinen türleri temsil eder. (Daha fazla bilgi için bkz. Veri Sözleşmesi Bilinen Türleri.) Bu bilinen türler, yöntemine geçirilen türlere ek olarak herExport
çağrıdaExport
dışarı aktarılır.DataContractSurrogate. Dışarı aktarma işlemini özelleştirecek bu özellik aracılığıyla bir IDataContractSurrogate sağlanabilir. Daha fazla bilgi için bkz . Veri Sözleşmesi Vekilleri. Varsayılan olarak vekil kullanılmaz.
Yardımcı Yöntemler
şemayı dışarı aktarmanın birincil rolüne ek olarak, XsdDataContractExporter
türleri hakkında bilgi sağlayan birkaç yararlı yardımcı yöntem sağlar. Bu modüller şunlardır:
GetRootElementName Yöntem. Bu yöntem bir
Type
alır ve bu tür kök nesne olarak serileştirilmişse kullanılacak kök öğe adını ve ad alanını temsil eden bir XmlQualifiedName döndürür.GetSchemaTypeName Yöntem. Bu yöntem bir
Type
alır ve bu tür şemaya dışarı aktarıldığında kullanılacak XSD şema türünün adını temsil eden bir XmlQualifiedName döndürür. Şemada anonim türler olarak temsil edilen türler için IXmlSerializable bu yöntem döndürürnull
.GetSchemaType Yöntem. Bu yöntem yalnızca şemada anonim türler olarak temsil edilen türlerle IXmlSerializable çalışır ve diğer tüm türler için döndürür
null
. Anonim türler için bu yöntem, belirliType
bir XmlSchemaType öğesini temsil eden bir döndürür.
Dışarı aktarma seçenekleri bu yöntemlerin tümünü etkiler.