如何将Common属性添加到派生自EventArgs的两个类?

mr.*_*r.b 1 .net c# code-reuse

假设我有从EventArgs派生的这个类

public class myclass01:EventArgs
{
  public string channel{get;set;}
  public string generic_property{get;set;}
}

public class myclass02:EventArgs
{
  public string extension{get;set;}
  public string generic_property{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能使它不必"generic_property"一次又一次地定义派生的类EventArgs?有点像我将拥有一个具有所有通用属性的基类.

mel*_*okb 7

您可以创建派生自的类,EventArgs您可以将其用作所有自定义类的基础.abstract如果您不希望它直接使用,则应该使用此类.

public abstract class MyCommonEventBase : EventArgs
{
  public string generic_property { get; set; }
}

public class myclass01 : MyCommonEventBase
{
  public string channel{get;set;}
}

public class myclass02 : MyCommonEventBase
{
  public string extension{get;set;}
}
Run Code Online (Sandbox Code Playgroud)