メソッドの型指定(問題)

問題

あなたは、UserクラスとSaveメソッドを開発しています。

Saveメソッドのパラメータには、UserクラスまたはUserクラスを継承したクラスを指定しなければなりません。

また、Userクラスから継承されたクラスは、パラメータなしのコンストラクターを使用するクラスのみ許されなければなりません。

この条件を満たすSvaeメソッドの実装として適切なものを1つ選択しなさい。

選択肢

A

public static void Save(User user) {
...
}

B

public static void Save<T>(T user) where T: User {
...
}

C

public static void Save<T>(T user) where T: User, new() {
...
}

D

public static void Save<T>(T user) where T: new(), User {
...
}