获取另一个类中的属性值

本文关键字:属性 另一个 获取 | 更新日期: 2023-09-27 18:33:28

我正在一个项目中获取有关发行者的一些信息。在 MainWindow 活动中,我有以下代码行:

 builder.AddCustomAttributes(typeof(IssuerActivity), new DesignerAttribute(typeof(IssuerDesigner)));

所以我有一个发行人设计器,我在他的构造器方法中将所有发行人都放在一个列表框中,并将所有这些保存在发行者 [] 中。

现在,当我执行这个重新托管的工作流时,我需要将此颁发者[]发送到颁发者活动,以便在每个任务中分析他们每个人...

问题是:我该怎么做才能让 IssuerActivity 获取它在 IssuerDesigner 中分配的 Issuer[]?

获取另一个类中的属性值

你的问题很难理解,但我相信这就是你要找的。 您必须在对象上使用反射才能获取属性值。 应该是这样的。

        MemberInfo[] members = builder.GetType().GetProperties();
        foreach (MemberInfo m in members)
        {
            if (m.MemberType == MemberTypes.Property)
            {
                PropertyInfo p = m as PropertyInfo;
                object[] attribs = p.GetCustomAttributes(false);
                foreach (object attr in attribs)
                {
                    IssuerDesigner d = attr as IssuerDesigner;
                    if (d != null)
                    {
                        foreach(object obj in d.Issuer)
                        {
                             DoSomething(obj);
                        }
                    }
                }
            }
        }