cxiはクラス名で親クラスと同じクラスのインスタンスコードを作成します。
以下の例:
Form 1、Form 2、Form 3…Formから引き継ぎ、Form f=new Form 1();などのFormクラスの例を確立して、多すぎるサブクラスの場合、サブクラス名などのパラメータを伝えることによって、インスタンスを作成することができますが、どのような方法がありますか?
方法1:反射を利用する
方法二:汎型を利用する
以上のc铉はクラス名で参作成した父類と同じクラスの実例コードです。小編集が皆さんに共有した内容は全部です。参考にしてほしいです。どうぞよろしくお願いします。
Form 1、Form 2、Form 3…Formから引き継ぎ、Form f=new Form 1();などのFormクラスの例を確立して、多すぎるサブクラスの場合、サブクラス名などのパラメータを伝えることによって、インスタンスを作成することができますが、どのような方法がありますか?
方法1:反射を利用する
string str=“ .Form1(Form2……)”;
Type t=Type.GetType(str);
Form f=Activator.CreateInstance(t);
このようにしてほしいものを実現できます。strは変数です。もちろん、転送時には名前空間が必要です。方法二:汎型を利用する
T CreateForem<T>() where T : Form, new()// new
{
return new T();
}
Form f=CreateForm<パラメータ>()//を呼び出すことができます。パラメータはForm 1、Form 2、Form 3などです。以上のc铉はクラス名で参作成した父類と同じクラスの実例コードです。小編集が皆さんに共有した内容は全部です。参考にしてほしいです。どうぞよろしくお願いします。