【发布时间】:2016-06-26 13:06:05
【问题描述】:
我的库中有这样的方法
public void Foo<T>(IQueryable<T> input)
{
//T is never used and the code compiles when I remove T
}
我想重构它并删除泛型参数。
public void Foo(IQueryable input) { ... }
它如何影响依赖于我的库的代码?
他们需要重建吗?
他们是否遇到编译错误?
如果他们使用反射来调用这个方法怎么办?
如果我同时创建它们,那么方法解析将始终选择通用的。如何使通用的在以后的版本中被弃用和废弃?
【问题讨论】:
-
如果您只想将其标记为已过时,请在您的通用方法上使用
[Obsolete]属性 -
也许你应该让泛型方法调用非泛型方法?
标签: c# generics backwards-compatibility method-resolution-order