【发布时间】:2012-03-15 16:22:12
【问题描述】:
我有一个对象列表 = { obj1,obj2,obj3 }
对象的每个类都继承自同一个接口
interface IObjects
class Obj1:IObjects
class Obj2:IObjects
class Obj3:IObjects
例如,我想找到 Obj1 类的对象。 怎么做?
【问题讨论】:
标签: c#
我有一个对象列表 = { obj1,obj2,obj3 }
对象的每个类都继承自同一个接口
interface IObjects
class Obj1:IObjects
class Obj2:IObjects
class Obj3:IObjects
例如,我想找到 Obj1 类的对象。 怎么做?
【问题讨论】:
标签: c#
您可以这样做:
var listOfObject1s = objects.Where(o => o is Obj1).ToList();
【讨论】:
if(obj.GetType() == typeof(Obj1))
{
// obj is an Obj1!
}
【讨论】:
遍历列表并检查
item is Obj1
【讨论】:
Linq 方法:
IObjects[] objList = new IObjects[] { obj1,obj2,obj3 };
obj1 o1 = objList.Where(o => o.GetType() = typeof(Obj1)).First();
【讨论】:
null,则会抛出异常
在您的对象上调用 GetType()。 see here。希望这会有所帮助
【讨论】: