C# 子类化ProgressChangedEventArgs问题

C# 子类化ProgressChangedEventArgs问题,c#,events,C#,Events,我正在扩展ProgressChangedEventArgs。下面是我的代码片段: public class Sample : ProgressChangedEventArgs { public String Something { get; set; } } 此代码引发以下错误: "System.ComponentModel.ProgressChangedEventArgs' does not contain a constructor that takes 0 arguments"

我正在扩展ProgressChangedEventArgs。下面是我的代码片段:

public class Sample : ProgressChangedEventArgs
{
    public String Something { get; set; }
}
此代码引发以下错误:

"System.ComponentModel.ProgressChangedEventArgs' does not contain a constructor that takes 0 arguments"

我做错了什么?

您需要提供一个构造函数,该构造函数采用与ProgressChangedEventArgs的构造函数相同的参数,并在构造函数中调用基构造函数:

public Sample(int progressPercentage, Object userState)
    : base(progressPercentage, userState)
{ 
}

如果没有指定构造函数,该类不应该自动获取一个包含0个参数的构造函数吗?当然。但是基类只有一个构造函数,它需要两个参数。这需要打电话。自动生成的构造函数只调用基类的默认构造函数。如果不存在,则此操作失败,并导致OP的编译错误。