【发布时间】:2014-05-20 01:25:51
【问题描述】:
-- 上下文
我有以下 5 个对象
IChangeStatus<T>
myFirstClass : IChangeStatus<firstClassEnum>
mySecondClass : IChangeStatus<secondClassEnum>
myClassHandler<TEntity>
myFirstClassHandler : myClassHandler<myFirstClass>
出于问题的目的,我们可以假设接口只有属性
T Status { get; }
-- 问题
1.- 如果 TEntity 的实例实现 IChangeStatus,我如何在 myClassHandler 的方法中询问?
2.- 我如何迭代 TEntity 的 IEnumerable,假设它们具有特定的 IChangeStatus?
【问题讨论】:
-
关于问题 #1 - 您是否正在寻找一种在运行时检查 TEntity 实现 IChangeStatus 的方法,还是在编译时确保 TEntity 始终为 IChangeStatus 类型的方法?
-
我刚刚看到这个评论,我正在寻找运行时检查,我已经在另一个 SO 问题中找到了它,在我的答案中。
标签: c# .net generics interface