I have a very thin interface that's going to define one method. Should I require the type parameter on the class definition?
public interface ISomethingFun<T>
{
void Do(T item);
}
or method definition?
public interface ISomethingFun
{
void Do<T>(T item);
}
What rationale? Is one easier to implement, inherit, or generate dynamically? Is it style? Is there some OO guidance that applies?