标签: c# .net dynamic casting covariance
我有一个看起来像这样的实用方法
void Apply<T>(IQueryable<T> queryable) where T : class {...}
我正在做一些反思,以获得IDbSet<X>的实例,其中我知道 X符合这些约束。我想把它强制转换为IDbSet<dynamic>,以便编译器允许它通过但是dbSet as IbSet<dynamic>返回null。我怎么能这样做?
IDbSet<X>
X
IDbSet<dynamic>
dbSet as IbSet<dynamic>
我意识到我可以将整个事情变为动态,但还有一些其他原因我宁愿避免这样做。