WCF ad alanını PropertyInfo'dan nasıl belirleyebilirim?

IWsdlExportExtension uygulamasının bir yazımı yazıyorum ve değiştirilmek üzere karşılık gelen XSD bildirimlerine gereksinim duyan PropertyInfo örneklerinin bir listesini aldım. Bunu yapmak için xml ad alanlarını belirlemem gerekiyor.

DataMemberAttribute 'a bakmanın yeterli olmadığını anlıyorum. WCF kütüphanelerinde bu bilgiyi sağlayan yerleşik bir yöntem var mı? Aksi takdirde, algoritma bunu belirlemek için benziyor mu?

2

1 cevap

İstediğiniz şeyin ContractDescription sınıfının bir örneğini aldığına inanıyorum. . Bu sınıf bir ad alanı özelliğine sahiptir.

Bu sınıfın bir örneğini GetContract yöntemlerinden birini kullanarak alabilirsiniz. Bir Type parametresi var. Bu durumda, bu tarz bir çağrıyı kullanabilirsiniz:

string myNamespace = ContractDescription.GetContract(
          typeof(IMyService),
          myPropertyInfo.DeclaringType).Namespace;

NOT: Ayrıca sözleşme türüne de ihtiyacınız olacaktır (bu örnekte typeof (IMyService) ile temsil edilir)

0
katma