我有过滤通用列表的方法
public bool FilterRecords(object obj)
{
Type ss = obj.GetType();
var item = obj as (obj.GetType());
.
.
.
return false;
}
对象 obj 可以是 Customer,Order,Artical 等。问题是var item = obj as (obj.GetType());
不起作用。我尝试了一些更多的选择,但我没有想法。如何将项目转换为对象类型?提前谢谢。
答案 0 :(得分:1)
如果您的选项数量有限,您可以执行以下操作:
public bool FilterRecords(object obj)
{
if(obj is Customer)
{
var customer = (Customer)obj;
//...
}
else if(obj is Order)
{
var order = (Order)obj;
//...
}
//...
}
但这可能表明设计不好,需要类继承和多态。
答案 1 :(得分:0)
抱歉,我错过了一个选项。因此,我的班级有通用参数,我只需设置
var item = (T)o;
它有效,不需要 Type ss = obj.GetType(); 。