Как определить пространство имен WCF из PropertyInfo? - PullRequest
2 голосов
/ 27 октября 2011

Я пишу реализацию IWsdlExportExtension и собрал список PropertyInfo экземпляров, которым необходимо изменить соответствующие декларации XSD.Для этого мне нужно определить их пространство имен XML.

Я понимаю, что смотреть на DataMemberAttribute недостаточно.Есть ли встроенный метод в библиотеках WCF, который может предоставить эту информацию?В противном случае, будет ли алгоритм определять это?

1 Ответ

0 голосов
/ 02 ноября 2011

Полагаю, вам нужно получить экземпляр класса ContractDescription .Этот класс имеет свойство namespace .

Вы можете получить экземпляр этого класса, используя один из методов GetContract .У них есть параметр типа.Так что в вашем случае вы могли бы использовать этот вид вызова:

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

ПРИМЕЧАНИЕ: вам также понадобится тип контракта (представлен в этом примере typeof(IMyService))

...