将项目投射为接收参数的类型
Cast item to be type of received parametar
我有过滤通用列表的方法
public bool FilterRecords(object obj)
{
Type ss = obj.GetType();
var item = obj as (obj.GetType());
.
.
.
return false;
}
Object obj 可以是 Customer、Order、Artical 等。问题是 var item = obj as (obj.GetType());
不起作用。我尝试了更多选项,但我 运行 没有想法。如何将 item 转换为对象类型?提前致谢。
抱歉,我错过了一个选项。因此我的 class 带有通用参数,我只是设置
var item = (T)o;
有效,不需要 Type ss = obj.GetType();.
如果您的选项数量有限,您可以这样做:
public bool FilterRecords(object obj)
{
if(obj is Customer)
{
var customer = (Customer)obj;
//...
}
else if(obj is Order)
{
var order = (Order)obj;
//...
}
//...
}
但这可能表明设计不当,需要 class 继承和多态性。
我有过滤通用列表的方法
public bool FilterRecords(object obj)
{
Type ss = obj.GetType();
var item = obj as (obj.GetType());
.
.
.
return false;
}
Object obj 可以是 Customer、Order、Artical 等。问题是 var item = obj as (obj.GetType());
不起作用。我尝试了更多选项,但我 运行 没有想法。如何将 item 转换为对象类型?提前致谢。
抱歉,我错过了一个选项。因此我的 class 带有通用参数,我只是设置
var item = (T)o;
有效,不需要 Type ss = obj.GetType();.
如果您的选项数量有限,您可以这样做:
public bool FilterRecords(object obj)
{
if(obj is Customer)
{
var customer = (Customer)obj;
//...
}
else if(obj is Order)
{
var order = (Order)obj;
//...
}
//...
}
但这可能表明设计不当,需要 class 继承和多态性。