我对某些对象的收集绑定了DataGridView
。在DataGridView
中,有一个ComboBox
包含名称列表,我正在尝试将新对象添加到每个选择的集合中。
但问题是AddNew()
总是调用child的默认构造函数。 :/
这是一个代码:
public class Parent:BindingList<Child>
public Child ChildProperty{get;set;}
public new object AddNew()
{
return ChildProperty;
}
public new void AddingNew(object sender, AddingNewEventArgs e)
{
ChildProperty = new Child(this);
e.NewObject = ChildProperty;
}
我必须使用参数化构造函数,因为我需要将父传递给子。
答案 0 :(得分:5)
通过使用new
关键字,您不会覆盖基类的方法;相反,您只在派生类中创建全新的方法,这些方法永远不会被调用。
相反,您应该覆盖 AddNewCore()
方法并返回一个新对象。
编辑:您还需要在覆盖中Add()
新集合的实例。