对通用接口的抽象引用

Wuf*_*ill 5 c# generics

如果运行时允许引用通用接口的成员并非特定于泛型类型,那么是否有人认为它可能有用?我知道通常的"解决方法"是创建一个非泛型接口作为通用接口的基础,但有一个有效的理由反对该基本接口基本上是自动的吗?

例如,给定以下接口:

public interface IProcessor<T> 
{
    string Name { get; }
    void Process(T item);
}
Run Code Online (Sandbox Code Playgroud)

我认为自动允许这样的事情会很方便:

public void LogProcessor(IProcessor<> item)
{
        Trace.WriteLine(item.Name);
}
Run Code Online (Sandbox Code Playgroud)

我很想听到反对的论点(除了"停止这么懒,只是写基础接口").

Ree*_*sey 7

您可以使用通用方法:

public void LogProcessor<T>(IProcessor<T> item)
{
    Trace.WriteLine(item.Name);
}
Run Code Online (Sandbox Code Playgroud)