相关疑难解决方法(0)

如何处理添加到列表事件?

我有一个这样的列表:

List<Controls> list = new List<Controls>
Run Code Online (Sandbox Code Playgroud)

如何处理在此列表中添加新位置?

当我做:

myObject.myList.Add(new Control());
Run Code Online (Sandbox Code Playgroud)

我想在我的对象中做这样的事情:

myList.AddingEvent += HandleAddingEvent
Run Code Online (Sandbox Code Playgroud)

然后在我的HandleAddingEvent委托处理中添加位置到此列表.我该如何处理添加新的位置事件?我怎样才能举办这个活动?

c# events list event-handling

40
推荐指数
5
解决办法
6万
查看次数

从非泛型类重写抽象泛型方法

基类

class Drawer
{
    public abstract void Draw<T>(T type);    
}
Run Code Online (Sandbox Code Playgroud)

派生类#1

class ADrawer : Drawer
{
    public override void Draw<T>(List<T> list)
    {
        foreach (var a in list)
        {
            DrawA(a);
        }
    }

    public void DrawA(Agent a)
    {
        //draw code here
    }
}
Run Code Online (Sandbox Code Playgroud)

派生类#2

class AnotherDrawer : Drawer
{
    public override void Draw<T>(T number)
    {
        if (number == 1)
        {
            //draw code
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

错误发生在#1派生类中:"找不到合适的方法来覆盖"

我应该在基类中使用'virtual'还是'abstract'?

如何设置基本参数类型以允许派生类中的各种参数?

c# generics overriding abstract

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

c# ×2

abstract ×1

event-handling ×1

events ×1

generics ×1

list ×1

overriding ×1