私は次のクラスを持っています
public class AbstractJobDao<T> where T : IJob {
protected T buildJob() {
// create an IJob implementation instance based on the generic parameter
}
}
public class FullTimeJobDao : AbstractJobDao<FullTimeJob> {
}
public class InternshipDao : AbstractJobDao<Internship> {
}
FullTimeJobとInternshipの両方がIJobインターフェースを実装しています。buildJob()メソッドで、リフレクションを使用してDao実装クラスのジェネリックを推測し、そのタイプのインスタンスを作成できるようにしたいと思います。.NET 3.5でリフレクションを使用してこれを行う方法はありますか?
もしそうなら、buildJob()メソッドのコードの行はどのように見えるべきですか?
編集-私は私の質問がはっきりしていないと思います。私が欲しいのは、buildJob()がFullTimeJobDao内で呼び出され、FullTimeJobのインスタンスを作成するときです。buildJob()がInternshipDaoの内部から呼び出されると、クラスの最上位で定義されているジェネリック型に基づいて、Internshipのインスタンスを作成する必要があります。