【发布时间】:2017-02-27 17:45:13
【问题描述】:
我有两个类具有以下属性
Class A
{
public int CustID { get; set; }
public bool isProcessed { get; set; }
}
Class B
{
public int EmpId{ get; set; }
public bool isProcessed { get; set; }
}
我创建了一个接受所有这些类的通用方法。'isProcessed' 属性在这两个类中都很常见。
public void ProceesData<T>(IList<T> param1, string date1)
{
}
我需要以下东西
- 在 ProcessData 方法中,我想过滤具有 isProcessed 标志为“真”。
- 另外我想迭代这个集合并且需要为 IsProcessed 属性设置值。
注意:我更喜欢使用反射的解决方案,因为属性名称是恒定的(即“IsProcessed”)
谁能帮忙解决这个问题。
【问题讨论】:
-
你能让
A和B实现同一个接口吗? -
您的类
A和B没有共同祖先或公开接口的任何原因?这样就很容易解决问题了。 -
因为 isProcessed 对 A 类和 B 类是通用的,我不打算改变类结构
-
我认为你应该有与 isProcessed() 方法的通用接口,并且两个类都应该实现它。因此,如果
. ,您可以使用您的界面 -
...since property name is constant
标签: c# .net generics generic-collections