public class Foo<T> {
public T Bar { get; set; }
}
//Aqui você define o tipo padrão.
public class Foo : Foo<string> { }
public class Program {
public static void Main(string[] args) {
var a = new Foo<int>();
var b = new Foo();