This is the Microsoft listed best practice for generics.
I agree with the following post. Here Richard Birkby recommends subclassing generics before using them.
His argument is that this make it easier to extend (which is a good idea) but I would also recommend subclassing to reduce the repetitive nature of the code:
For example:
public class foo
{
public List<int> Bar
{
get {return _Bar;}
}
private List<int> _Bar;
}
Would be more cleanly written as:
public class IntList : List<int> {}
public class foo
{
public IntList Bar
{
get {return _Bar;}
}
private IntList _Bar;
}