我试图使用Assembly
类从我的[ServiceContract]
获得[DataMember]'s
。问题是,我的方法返回一个空集合…
下面是我的代码:
Assembly assembly = Assembly.LoadFrom(dllPath);
Type c = assembly.GetType(fullName);
var dataMembers = c.GetFields().Where(f => f.GetCustomAttributes<DataContractFormatAttribute>().Any());
这是我的服务类:
[ServiceContract]
public class MyService
{
[DataMember]
public string Test;
[DataMember]
public Int64 ComeAndGetMe;
public bool AmIUseless;
[OperationContract]
public void DoSomething()
{
}
}
我想得到Test
和ComeAndGetMe
没有标记[DataContractFormat]
的字段,因此查找<DataContractFormatAttribute>
将找不到任何内容。试着查找指定了DataMemberAttribute
的字段。
GetProperties()
):
[DataMember]
public string Test {get;set;}
[DataMember]
public long ComeAndGetMe {get;set;}
// etc