使用AddNew()调用参数化构造函数

时间:2013-01-21 14:56:28

标签: c# .net bindinglist

我对某些对象的收集绑定了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;
    }

我必须使用参数化构造函数,因为我需要将父传递给子。

1 个答案:

答案 0 :(得分:5)

通过使用new关键字,您不会覆盖基类的方法;相反,您只在派生类中创建全新的方法,这些方法永远不会被调用。

相反,您应该覆盖 AddNewCore()方法并返回一个新对象。

编辑:您还需要在覆盖中Add()新集合的实例。