C# 将控件添加到控件集合

C# 将控件添加到控件集合,c#,winforms,unit-testing,C#,Winforms,Unit Testing,我正在尝试为Control.ControlCollection创建新控件(TextBox、ComboBox和CheckBox),但它不起作用。通常我的WinForm会将其控件传递给该方法,但现在我正试图为其编写一个单元测试 代码如下: TestClass target = new TestClass(); Control.ControlCollection controls = null; CheckBox checkBox = new Chec

我正在尝试为Control.ControlCollection创建新控件(TextBox、ComboBox和CheckBox),但它不起作用。通常我的WinForm会将其控件传递给该方法,但现在我正试图为其编写一个单元测试

代码如下:

        TestClass target = new TestClass(); 
        Control.ControlCollection controls = null;
        CheckBox checkBox = new CheckBox();
        checkBox.Name = "SomeCheckBox";
        checkBox.Checked = true;
        ComboBox comboBox = new ComboBox();
        comboBox.Name = "SomeComboBox";
        checkBox.Text = "Some text in CB";
        TextBox count = new TextBox();
        count.Name = "CountTextBox";
        count.Text = "20";
        TextBox date = new TextBox();
        date.Name = "DateNow";
        date.Text = System.DateTime.Now.ToString("dd.MM.yyyy");
        controls.AddRange(new Control[] {checkBox, comboBox, count, date });
        string actual;
        actual = target.saveEverything(controls);

AddRange行中的测试失败。我犯了什么错误?

好吧,我很愚蠢。我忘了初始化控件


您从不初始化
控件
。可能会重复生成
Control.ControlCollection controls=new Control.ControlCollection()@gunr217哦,我太蠢了。-谢谢。:)@t您忘记了新控件。ControlCollection()需要一个控件来传递,但现在它可以工作了。
Control con = new Control();
Control.ControlCollection controls = new Control.ControlCollection(con);