我不确定这在 C# 中是否可行:
我有一个userControl
我有一个属性inputType
- 枚举有 3 个可能的选项,textBox、dropDownList 或 checkBox。
然后我想创建一个该类型的新对象并将其添加到 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 专家核实:)
非常感谢,马克