我有两个通用委托,我试图定义编译器抱怨它们是重复的,但在我看来是完全不同的。我在做什么/理解错误?
delegate TReturn foo<TParameter, out TReturn>(TParameter parameter, IItem item);
和
delegate TReturn foo<TParameter, out TReturn>(TParameter parameter, int field, IItem item);
如果我向第二个委托添加一个新的通用参数,一切正常。
delegate TReturn foo<TParameter, TField, out TReturn>(TParameter parameter, TField field, IItem item) where TField struct
但这似乎不正确。我将始终为字段传递一个 int - 它不应该是通用的。