C#中的超级语句

Dha*_*ude 8 c# exception

我正在创建一个用于在c#中管理异常的类,我想创建一些构造函数方法来调用超类; 这是我班级的定义:

class DataSourceNotFoundException: System.Exception 
Run Code Online (Sandbox Code Playgroud)

但是因为在c#中没有超级方法我应该调用什么来获取构造函数方法System.Exception

Jon*_*eet 11

在构造函数的主体base 之前使用父构造函数:

public class FooException : Exception
{
    public FooException(string message) : base(message)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

显然,你不,只是从自己构造了传递一个参数作为参数传递给基构造函数:

public class FooException : Exception
{
    public FooException(int x) : base("Hello")
    {
        // Do something with x
    }
}
Run Code Online (Sandbox Code Playgroud)

相当于当前类中的构造函数的链是使用this而不是base.

请注意,构造函数链的作品非常稍有不同在C#与Java相比,对于当运行实例变量初始化到.有关更多详细信息,请参阅有关C#构造函数的文章.