C# C语言中的超级语句#
我正在创建一个类来管理c#中的异常,我想创建一些构造函数方法来调用超类;这是我的类的定义:C# C语言中的超级语句#,c#,exception,C#,Exception,我正在创建一个类来管理c#中的异常,我想创建一些构造函数方法来调用超类;这是我的类的定义: class DataSourceNotFoundException: System.Exception 但是因为在c中没有超级方法,所以我应该调用什么来获得系统的构造函数方法。异常?一般来说,关键字base就是你想要的。选中在构造函数主体之前使用base调用父构造函数: public class FooException : Exception { public FooException(st
class DataSourceNotFoundException: System.Exception
但是因为在c中没有超级方法,所以我应该调用什么来获得
系统的构造函数方法。异常?一般来说,关键字base
就是你想要的。选中在构造函数主体之前使用base
调用父构造函数:
public class FooException : Exception
{
public FooException(string message) : base(message)
{
}
}
public class FooException : Exception
{
public FooException(int x) : base("Hello")
{
// Do something with x
}
}
显然,您不必将自己的构造函数中的参数作为参数传递给基构造函数:
public class FooException : Exception
{
public FooException(string message) : base(message)
{
}
}
public class FooException : Exception
{
public FooException(int x) : base("Hello")
{
// Do something with x
}
}
与当前类中的构造函数链等效的方法是使用this
而不是base
注意,与Java相比,C#中的构造函数链接在运行实例变量初始值设定项时的工作方式略有不同。有关更多详细信息,请参见my。与此问题没有直接关系,但Visual Studio中的“异常”片段非常有用,它生成了一些构造函数(4),这些构造函数调用基本构造函数,以及用于序列化支持的构造函数。
class DataSourceNotFoundException: System.Exception {
public DataSourceNotFoundException()
: base()
{
//some code
}
public DataSourceNotFoundException(string message, object other)
: base(message)
{
//some code
}