当前位置:  开发笔记 > 编程语言 > 正文

如何强制在C#中调用基础构造函数?

如何解决《如何强制在C#中调用基础构造函数?》经验,为你挑选了2个好方法。

我有一个BasePage类,所有其他页面派生自:

public class BasePage

这个BasePage有一个构造函数,其中包含必须始终运行的代码:

public BasePage()
{
    // Important code here
}

我想强制派生类调用基础构造函数,如下所示:

public MyPage
    : base()
{
    // Page specific code here
}

我该如何强制执行此操作(最好是在编译时)?



1> Jon Skeet..:

始终会在某个时刻调用基础构造函数.如果你调用this(...)而不是base(...)那个调用同一个类中的另一个构造函数 - 它还必须调用另一个兄弟构造函数或父构造函数.迟早你总会得到一个构造函数,它可以base(...)显式地或隐式地调用基类的无参数构造函数.

有关构造函数链接的更多信息,请参阅此文章,包括各个位的执行点(例如变量初始值设定项).



2> Johannes Sch..:

如果不调用任何其他显式接受参数的基类构造函数,则自动运行不带参数的基类构造函数.

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有