如果运行时允许引用非特定于泛型类型的泛型接口(interface)的成员,那么还有其他人认为这可能有用吗?我知道通常的“解决方法”是创建一个非通用接口(interface)作为通用接口(interface)的基础,但是有没有正当理由反对该基本接口(interface)是自动的呢?

例如,给定以下接口(interface):

public interface IProcessor<T>
{
    string Name { get; }
    void Process(T item);
}

我认为自动允许这样的事情会很方便:
public void LogProcessor(IProcessor<> item)
{
        Trace.WriteLine(item.Name);
}

我很好奇听到与此相反的争论(除了“别再懒了,只写基本接口(interface)”)。

最佳答案

您可以只使用通用方法:

public void LogProcessor<T>(IProcessor<T> item)
{
    Trace.WriteLine(item.Name);
}

10-02 02:59
查看更多