Task
is an example of a class that exists in generic and non-generic form. The generic form extends the non-generic form.
public class Task
{
}
public class Task<T> : Task
{
}
Say I was implementing something of the sort myself. Normally, the convention is to put different classes in different files. Since they have the same name, it is not possible here.
What is the convention for this sort of scenario? Keep both classes in the same file, or put the generic class in a different file, but with a different name?