だから、私はこのコードを持っている:私のプログラムでは、ジェネリックメソッド内で子クラスコンストラクタを呼び出すことは可能ですか?
public class Fruit {
public Fruit() {
// base class constructor
}
}
public class Apple: Fruit {
public Fruit(): base() {
// child class constructor
}
}
T MakeNew<T>(T item) where T: Fruit, new() {
T tempNewClass = new T();
return tempNewClass;
}
そしてを:
Apple apple = new Apple();
Apple anotherApple = MakeNew<Apple>(apple);
anotherAppleは、アップルのクラスであるが、私のメソッド内で作成中、唯一の基本コンストラクタが呼び出されるのはなぜあたかも基本クラスとして扱われたかのように?
私は推測しているのは、メソッドのinit行にnew()キーワードがあるからです。
ジェネリックメソッド内に子クラスを作成し、そのコンストラクタを呼び出す方法はありますか?
PS:私はC#を学んでいて、インターネットから必要なすべての回答を得るために全力を尽くしています。私は今4日以来、この問題に悩まされており、どこにいても答えが見つからなかった。しかし、私は間違っている可能性があります、多分私は間違った質問をしていますか?