C# 如何定义从委托继承的新类

C# 如何定义从委托继承的新类,c#,inheritance,delegates,C#,Inheritance,Delegates,有没有办法做一些类似我在贝娄所做的事情 我试图做的是在特定的时间点调用一个委托列表并跟踪它们,为了保持代码干净,在某种类型的列表中保留要调用的委托 public interface IServiceStatusDelegate { object DynamicInvoke(object[] args) } public class ServiceStatusDelegate : Delegate, IServiceStatusDelegate { } public class

有没有办法做一些类似我在贝娄所做的事情

我试图做的是在特定的时间点调用一个委托列表并跟踪它们,为了保持代码干净,在某种类型的列表中保留要调用的委托

public interface IServiceStatusDelegate
{
    object DynamicInvoke(object[] args)
}

public class ServiceStatusDelegate
   : Delegate, IServiceStatusDelegate
{
}

public class MyServiceStatusCheckedDelegate
   : ServiceStatusDelgate
{
}

public class MyServiceStatusChangedDelegate
   : ServiceStatusDelgate
{
}
public class MyClass
{
    public ServiceStatusDelgate[] listOfDelegatesToInvoke;

    public void InvokeRequiredDelegates()
    {
        foreach(ServiceStatusDelegate delegateToInvoke in this.listOfDelegatesToInvoke)
            delegateToInvoke.DynamicInvoke(new object[]{this, DateTime.Now});
    }
}
您不需要代表列表。。。您在c#中创建的任何委托都将是多播的,因此您所需要的只是任何委托,您可以将它们与
+
组合。只要调用它,就会达到所有目标。例如:

Action target = null;
...
target += Method1;
...
target += Method2;
...
if(target != null) target(); // calls Method1 and Method2
这可以通过
事件
来实现(尽管它没有必要存在),这将使调用方非常清楚地看到约定