我需要提取所有不可枚举的公共读写属性,除非它们是字符串。目前,这是通过refelction和想知道这是否可以用FastMember来完成的。
我尝试了下面的代码,但它不能实现我想要的效果。是否可以使用当前版本的FastMember执行此操作?
干杯,
Berryl
protected void LoadCache(IHaveEditableStateProperties originator) {
var type = originator.GetType();
_accessor = TypeAccessor.Create(type);
var members = _accessor.GetMembers();
_editableState = new Dictionary<string, object>();
foreach (var member in members) {
if(member.Type == typeof(PropertyInfo)) {
_editableState.Add(member.Name, _accessor[originator, member.Name]);
}
}
}
...
}发布于 2014-03-27 01:37:32
据我所知,从FastMember返回的member.Type是属性或方法的返回类型。它永远不应该是PropertyInfo,因为你在你的代码中检查。_accessor[originator, member.Name]应返回该属性的当前值。
https://stackoverflow.com/questions/15350567
复制相似问题