DatePickerOfItemsControl,TextBoxOfItemsControl,ComboBoxOfItemsControl是类,如何将这些类传递给函数,如传递变量
用于保存这些类或键入为变量的函数,并在需要时使用它来创建实例
ifactory.AddControl(DatePickerOfItemsControl);
ifactory.AddControl(TextBoxOfItemsControl);
//ifactory.AddControl(textbox2);
ifactory.AddControl(ComboBoxOfItemsControl);
ifactory.AddControl(RadioBoxOfItemsControl);
public void AddControl(Object c)
{
datepickerclass = DatePickerOfItemsControl;
public void Apply()
{
datepickerclass datepicker = new datepickerclass();
答案 0 :(得分:1)
使用Type
:
public void AddControl(Type c)
{
}
您可以使用Activator.CreateInstance()
创建类型的实例:
public void AddControl(Type c)
{
object o = Activator.CreateInstance(c);
}
然后这样称呼:
AddControl(typeof(RadioBoxOfItemsControl));
请参阅MSDN -
答案 1 :(得分:0)
我不是很确定,但我认为你试图推广控件的创建,所以如何做到这样:
ifactory.AddControl(() => { new datepickerclass() });
public void AddControl<T>(Func<T> factory)
where T : BaseControlType
{
var instanceOfControl = factory();