首页 > 解决方案 > 有没有办法获取具有 set 方法的属性?

问题描述

我有一个包含属性的类。其中一些只是为我创建必要信息的吸气剂。

在我的一个 BLs 服务中,我目前正在使用一些反射方法从另一个 api 字典创建一个映射到我的实体。主要问题是,如果没有 set 方法,就很难找到分离属性的解决方案。

我检查了BindingFlags但没有找到适合这种情况的任何东西。当然必须有一个内置的解决方案。

有什么建议么?

标签: c#reflection

解决方案


您可以通过以下方式从属性本身获取 getter 和 setter 信息:

var properties = mytype.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (var item in properties)
{
    if (item.CanRead)
    {
        // has at least the getter
    }
    if (item.CanWrite)
    {
        // has at least the setter
    }
}

推荐阅读