我一直在学习C#,并希望查看一些开源项目,看看一些好的编写代码.我在sourceforge上找到了一个名为Todomoo的项目,有一个令我困惑的部分:
public class Category {
// Note properties
private int id = 0;
private string name = "";
private Color colour = Color.Gray;
/// <summary>
/// Create a new category.
/// </summary>
public Category() { }
/// <summary>
/// Load a category from the database.
/// </summary>
/// <param name="Id">ID of the category</param>
public Category(int id) : base() {
Load(id);
}
Run Code Online (Sandbox Code Playgroud)
它base()在其中一个构造函数中使用,但该类不是派生类.那究竟是什么呢?
为什么语法base()是这样而不是:
public Category(int id) {
base();
Load(id);
}
Run Code Online (Sandbox Code Playgroud)
das*_*ght 17
但是这个类不是派生类
该类是派生类 - 它隐式继承自System.Object.目前尚不清楚为什么有人会调用base()构造函数System.Object:它也是隐式完成的.
就语法而言,我的猜测是C#采用的语法接近C++初始化列表,而不是基础构造函数的Java调用.
| 归档时间: |
|
| 查看次数: |
1976 次 |
| 最近记录: |