bool InContext(Class[] array, Item item)
{
for(int i = 0;i<array.length;i++)
{
if(item is array[i])
{
return true;
}
}
return false;
}
无论如何要在数组中存储一堆类,以便我可以判断我的一个项是否继承了它?
我希望此函数用于检查项目是否在上下文(对于上下文相关菜单)内是否相当动态。因此,手动编写它并不是一种选择。
答案 0 :(得分:10)
在标题行中使用Type代替“类”。
然后你可以:
bool InContext(Item item, Type[] accepted)
{
Type itemType = item.GetType();
return accepted.Any(x=> x.IsAssignableFrom(itemType));
}