【发布时间】:2011-09-28 20:53:46
【问题描述】:
我对 .Net 还很陌生,我显然在这里做错了什么。在我的基础抽象类中,我有以下委托:
public delegate bool DEnqueue(ref IPCPriorityMessage item, byte priority);
...以及以下方法声明:
public abstract DEnqueue Enqueue();
在我的实例类中,我有以下内容:
public override DEnqueue Enqueue;
我将 Enqueue 指向适用的本地方法。如果我不使用继承或不使用委托,我只能让它工作。
我的确切目标是:
- 使用基本抽象类来强制设计模式。实例必须包含方法 Engueue()。
- 在实例类中使用委托,以便在调用公共 Enqueue() 方法时调用适用的私有 enqueue() 方法。
我该怎么做?我尝试使用接口,但问题基本相同。
注意:我只在运行时知道要使用哪个私有 enqueue(),因此我使用了委托。
【问题讨论】:
标签: .net inheritance c#-4.0 delegates abstract-class