You can create a class that is derived from EventArgs
, which you use as the base for all your custom classes. This class should be abstract
if you don't want it to be useable directly.
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;}
}