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

use*_*418 2 .net c# bindinglist

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;
    }
Run Code Online (Sandbox Code Playgroud)

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

SLa*_*aks 5

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

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

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