请在这里帮助我,因为我有点困惑。我在 C# winforms 项目中有一个表单和几个方法,这些方法应该为这个特定的表单和所有派生的表单执行一些任务,所以其中一个帮助方法可以做例子..这个应该用数据集填充组合框。它现在工作正常但是当我用这个签名编码方法时
protected void FillComboBox(kComboBox target, IEntClass_DA entity)
{
target.DataSource = entity.GetList().Tables[0];
target.DisplayMember = "name";
target.ValueMember = "id";
}
我看到组合框中的 displayMember 和 ValueMember 在方法调用后没有保存值。我只是想我应该使用 ref 参数,这样分配就不会浪费在只读引用变量中。
那时没问题,但后来,练习将整个表单作为参数传递,编译器警告我,它不能作为 ref 参数传递,因为它是只读的。好吧,我继续工作,发现即使没有 ref 关键字,我也可以使用表单中的 ref 变量,更新一些属性并查看更改。
那么这里发生了什么:将控件的引用传递给辅助方法使我能够更改其成员,即使不使用 ref 参数?
谢谢。