これがC#で可能かどうかはわかりません:
私はuserControl
プロパティを持っていますinputType
-列挙型には、textBox、dropDownList、またはcheckBoxの3つの可能なオプションがあります。
次に、そのタイプの新しいオブジェクトを作成し、それをuserControlのプレースホルダーに追加します。
私がすることができます:
object txt;
switch (_inputType)
{
case code.enums.inputType.textBox:
txt = new TextBox();
break;
case code.enums.inputType.dropDownList:
txt = new DropDownList();
break;
case code.enums.inputType.checkBox:
txt = new CheckBox();
break;
}
ただし、Visual Studioがタイプを認識していないため、テキストボックス、ドロップダウンリスト、またはチェックボックスのプロパティにアクセスできません。また、オブジェクトをキャストすることもできません。オブジェクト(TextBox)txt
がどれになるかわからないためです...
これを行う方法はありますか?または、すべてのコントロール固有の操作を実行することを検討する必要がありswitch
ますか?
object txt
リクエストに応じて、理想的にはページの残りの部分で利用できるようにしたいと思います。したがって、switchステートメントの後にアクセスできるようになりますtxt
。
私は間違いなくやりたいと思います:
plcHolder.Controls.add(txt);
その部分は問題ありません-それはその前にコントロール固有のプロパティにアクセスしようとしているだけです...それはできないと思います...しかし常にSOの専門家に確認するのが最善です:)
どうもありがとう、マーク