【问题标题】:FastMember usage快速会员使用
【发布时间】:2013-03-11 23:26:57
【问题描述】:

我需要提取所有不可枚举的公共读写属性,除非它们是字符串。目前这是通过refelction 完成的,想知道这是否可以通过FastMember 完成。

我尝试了类似下面的代码,但它没有达到我想要的效果。我可以使用当前版本的 FastMember 执行此操作吗?

干杯,
浆果

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]);
            }
        }
    }
    ...
}

【问题讨论】:

    标签: c# reflection fastmember


    【解决方案1】:

    据我了解,从 FastMember 返回的 member.Type 是属性或方法的返回类型。它不应该是PropertyInfo,因为您正在检查您的代码。 _accessor[originator, member.Name] 应该返回属性的当前值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-15
      • 1970-01-01
      • 1970-01-01
      • 2019-11-07
      • 1970-01-01
      • 1970-01-01
      • 2018-04-18
      相关资源
      最近更新 更多