Consider the following:
public interface ICleanCoder
{
void DoSomeCoding(object task);
}
public interface ICleanCoder<T>
{
void DoSomeCoding(T task);
}
...
public class TestCleanCoding
{
void RegisterCleanCoder(ICleanCoder coder);
}
I have to have the initial non generic interface to enable a non generic reference to it later on. I know that technically that makes perfect sense, but the solution smells a little rotten to me, and I was wondering if I was missing something.