跳转到内容

C# 编程/关键字/base

来自维基教科书,自由的教科书

关键字base表示您希望引用基类的请求信息,而不是当前实例化的类。

base类是当前实现的类继承的类。当创建没有定义基类的类时,编译器会自动使用System.Object基类。

因此,以下两个声明是等效的。

public class MyClass
{
}

public class MyClass : System.Object
{
}

使用 base 关键字的一些原因是

  • 将信息传递给基类的构造函数
public class MyCustomException : System.Exception
{
     public MyCustomException() : base() {}

     public MyCustomerException(string message, Exception innerException) : base(message,innerException) {}

     // ......
}
  • 在基类中调用变量,其中新实现的类正在覆盖其行为
public class MyBaseClass
{
     protected string className = "MyBaseClass";
}

public class MyNewClass : MyBaseClass
{
     protected new string className = "MyNewClass";

     public override string BaseClassName
     {
          get { return base.className; }
     }
}
  • 在基类中调用方法。当您想要添加方法,但仍然保留底层实现时,这很有用。
// Necessary using's here

public class _Default : System.Web.UI.Page
{
     protected void InitializeCulture()
     {
          System.Threading.Thread.CurrentThread.CurrentUICulture =
                              CultureInfo.GetSpecificCulture(Page.UICulture);

          base.InitializeCulture();
     }
}



C# 关键字
abstract as base bool break
byte case catch char checked
class const continue decimal default
delegate do double else enum
event explicit extern false finally
fixed float for foreach goto
if implicit in int interface
internal is lock long namespace
new null object operator out
override params private protected public
readonly ref return sbyte sealed
short sizeof stackalloc static string
struct switch this throw true
try typeof uint ulong unchecked
unsafe ushort using var virtual
void volatile while
C# 特殊标识符(上下文关键字)
add alias async await dynamic
get global nameof partial remove
set value when where yield
上下文关键字(用于查询)
ascending by descending equals from
group in into join let
on orderby select where
华夏公益教科书