美文网首页
C#静态类和静态类成员

C#静态类和静态类成员

作者: 86a262e62b0b | 来源:发表于2019-10-15 16:57 被阅读0次

    文档:https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/classes-and-structs/static-classes-and-static-class-members#example

    一. 静态类

    特点:

    • 只包含静态成员。
    • 无法进行实例化。
    • 会进行密封。
    • 不能包含实例构造函数。

    注意:

    • 程序中首次引用类之前初始化其字段并调用其静态构造函数。 静态构造函数只调用一次,在程序所驻留的应用程序域的生存期内,静态类会保留在内存中。
    • 使用静态类的优点是编译器可以进行检查,以确保不会意外地添加任何实例成员。 编译器可保证无法创建此类的实例。

    二. 静态方法

    • 静态方法和属性无法在其包含类型中访问非静态字段和事件
    • 它们无法访问任何对象的实例变量,除非在方法参数中显式传递它。
    • 在首次访问静态成员之前以及在调用构造函数(如果有)之前,会初始化静态成员。
    • 对静态方法的调用会采用 Microsoft 中间语言 (MSIL) 生成调用指令,而对实例方法的调用会生成 callvirt 指令,该指令还会检查是否存在 null 对象引用。 但是在大多数时候,两者之间的性能差异并不显著。

    相关文章

      网友评论

          本文标题:C#静态类和静态类成员

          本文链接:https://www.haomeiwen.com/subject/vgaquctx.html