I have two generic delegates that I am atttempting to define that the compiler is complaining that they are duplicates, but to my eye are completely different. What am I doing/understanding wrong?
delegate TReturn foo<TParameter, out TReturn>(TParameter parameter, IItem item);
and
delegate TReturn foo<TParameter, out TReturn>(TParameter parameter, int field, IItem item);
If I add a new generic parameter to the second delegate, everything works.
delegate TReturn foo<TParameter, TField, out TReturn>(TParameter parameter, TField field, IItem item) where TField struct
but that is does not appear to be correct. I will always be passing an int for field - it should not be a generic.