我有对象= {OBJ1,OBJ2,OBJ 3}是否可以在对象列表中查找对象的类?
每一个类的对象是从同一个界面
interface IObjects
class Obj1:IObjects
class Obj2:IObjects
class Obj3:IObjects
继承的名单,我想找到OBJ1类对象examp。 如何做到这一点?
我有对象= {OBJ1,OBJ2,OBJ 3}是否可以在对象列表中查找对象的类?
每一个类的对象是从同一个界面
interface IObjects
class Obj1:IObjects
class Obj2:IObjects
class Obj3:IObjects
继承的名单,我想找到OBJ1类对象examp。 如何做到这一点?
你可以这样做:
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();
呼叫的GetType()您目的。 see here。希望这有助于
如果一个对象为'null',则会引发异常 – ntziolis 2012-03-15 16:36:11