これが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の専門家に確認するのが最善です:)
どうもありがとう、マーク