如果运行时允许引用通用接口的成员并非特定于泛型类型,那么是否有人认为它可能有用?我知道通常的“解决方法”是创建一个非泛型接口作为通用接口的基础,但有一个有效的理由反对该基本接口基本上是自动的吗?
例如,给定以下界面:
public interface IProcessor<T>
{
string Name { get; }
void Process(T item);
}
我认为自动允许这样的事情会很方便:
public void LogProcessor(IProcessor<> item)
{
Trace.WriteLine(item.Name);
}
我很想听到反对的论点(除了“停止这么懒,只是写基础接口”)。
答案 0 :(得分:7)
您可以使用通用方法:
public void LogProcessor<T>(IProcessor<T> item)
{
Trace.WriteLine(item.Name);
}
答案 1 :(得分:0)
不是共同语言规范的主要原因。添加这些东西是微软框架开发人员工作和测试的重要部分。所以更容易添加基础接口。 但无论如何,你可以将你的想法发布到微软论坛