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

本文关键字:参数 构造函数 调用 AddNew 使用 | 更新日期: 2023-09-27 17:55:01

我将DataGridView绑定到一些对象的集合上。在DataGridView中,有一个带有名称列表的ComboBox,我试图在每个选择上添加新对象到集合。但问题是AddNew()总是调用子函数的默认构造函数。:/这里有一个代码:

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;
    }

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

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

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

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

EDIT:您还需要在重写中将新实例Add()添加到集合中。