获取另一个类中的属性值
本文关键字:属性 另一个 获取 | 更新日期: 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);
}
}
}
}
}