我正在一个项目中获取有关发行人的一些信息。在MainWindow活动中,我有这行代码:
builder.AddCustomAttributes(typeof(IssuerActivity), new DesignerAttribute(typeof(IssuerDesigner)));
所以我有一个IssuerDesigner,我在其构造函数方法中将所有发行者放入列表框中,并将所有这些保存在Issuer []中。
现在,当我执行这个重新托管的工作流程时,我需要将这个Issuer []发送给IssuerActivity,以便在每个人的foreach任务中进行分析......
问题是:¿我为IssuerActivity做了什么,得到它在IssuerDesigner中分配的Issuer []?
答案 0 :(得分:0)
您的问题很难遵循,但我相信这是您正在寻找的。您必须在对象上使用Reflection才能获取属性值。它应该是这样的。
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);
}
}
}
}
}