>>678 >>681 以下のようなことをやりたいのです。
interface I{}
class B<T> : I{
 public B(T t){}
}
class A{
 I i;
 public A<T>(T t){ i = new B<T>(t); }
}

>>679 いただいたアドバイスを元に色々試していたら
static createメソッドという所に落ち着きました。
ありがとうございます。
class A{
 I i;
 A(I ii){ i = ii; }
 public static A Create<T>(T t){
  return new A(B<T>(t);
 }
}