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

时间:2014-03-22 01:25:02

标签: c# .net 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;}
}

我怎样才能这样做,以便我不必在"generic_property"派生的类上反复定义EventArgs?有点像我将拥有一个具有所有通用属性的基类。

1 个答案:

答案 0 :(得分: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;}
}