这句话的意思是“以下两者有何不同:”,可见它是一个问题。
typeof(IInterface).IsAssignableFrom(typeof(Class));
并且
typeof(Class) is IInterface
?
编辑:为了更好理解,我的功能大致如下:
public static List<T> GetAllInstancesOfType<T>() where T:Entity
{
List<T> l = new List<T>();
if (typeof(IMyInterface).IsAssignableFrom(typeof(T)) //or (typeof(T) is IMyInterface)
foreach(Entity e in List1) if (e is T) l.Add(e as T);
else foreach (Entity e in List2) if (e is T) l.Add(e as T);
return l;
}
ICustomAttributeProvider
和IReflect
。 - Austin Salonen