【发布时间】:2011-10-27 15:41:42
【问题描述】:
我正在编写IWsdlExportExtension 的实现,并且我收集了需要修改其相应XSD 声明的PropertyInfo 实例列表。为此,我需要确定它们的 XML 命名空间。
我知道只看DataMemberAttribute 是不够的。 WCF 库中是否有内置方法可以提供该信息?否则,算法看起来会确定这一点吗?
【问题讨论】:
我正在编写IWsdlExportExtension 的实现,并且我收集了需要修改其相应XSD 声明的PropertyInfo 实例列表。为此,我需要确定它们的 XML 命名空间。
我知道只看DataMemberAttribute 是不够的。 WCF 库中是否有内置方法可以提供该信息?否则,算法看起来会确定这一点吗?
【问题讨论】:
我相信您想要的是获得ContractDescription class 的实例。这个类有一个namespace 属性。
您可以使用GetContract 方法之一获取此类的实例。他们有一个类型参数。所以在你的情况下,你可以使用这种调用:
string myNamespace = ContractDescription.GetContract(
typeof(IMyService),
myPropertyInfo.DeclaringType).Namespace;
注意:您还需要合同类型(在此示例中由 typeof(IMyService) 表示)
【讨论】: