FastMember用法

7

我有一个需求,需要提取所有不可枚举的公共读写属性,除非它们是字符串。目前这个功能是通过反射实现的,想知道是否可以使用 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]);
            }
        }
    }
    ...
}
1个回答

0
据我理解,从FastMember返回的member.Type是属性或方法的返回类型。在您的代码中检查时,它永远不应该是PropertyInfo_accessor [originator,member.Name]应返回属性的当前值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接