`
ai_longyu
  • 浏览: 523300 次
社区版块
存档分类
最新评论

C#中静态构造函数学习

 
阅读更多

(1)用于对静态字段、只读字段等的初始化。       
(2)添加static关键字,不能添加访问修饰符,因为静态构造函数都是私有的。    
(3)类的静态构造函数在给定应用程序域中至多执行一次:只有创建类的实例或者引用类的任何静态成员才激发静态构造函数
(4)静态构造函数是不可继承的,而且不能被直接调用。      
(5)如果类中包含用来开始执行的Main方法,则该类的静态构造函数将在调用Main方法之前执行。  
任何带有初始值设定项的静态字段,则在执行该类的静态构造函数时,先要按照文本顺序执行那些初始值设定项。 
(6)如果没有编写静态构造函数,而这时类中包含带有初始值设定的静态字段,那么编译器会自动生成默认的静态构造函数。

以下用例子代码进一步说明:
/**************************************************
*静态构造函数练习
*(1)①②③……为执行顺序
*(2)输出结果:staticA()
*staticB()
*X=1,Y=2
***************************************************/
usingSystem;
classA
{
publicstaticintX;
staticA()//④执行完后返回到③
{
X=B.Y+1;
Console.WriteLine("staticA()");
}
}
classB
{
publicstaticintY=A.X+1;//③调用了A的静态成员,
//转到A的静态构造函数---->
staticB()//②如果带有初始值设定项的静态字段,
//执行该类的静态构造函数时,
//先要按照文本顺序执行那些初始值设定项。
//转到初始值设定项---->
{
Console.WriteLine("staticB()");
}
staticvoidMain()//①程序入口,
//如果类中包含用来开始执行的Main方法,
//该类的静态构造函数将在调用Main方法之前执行。
//转到B的静态构造函数---->
{
Console.WriteLine("X={0},Y={1}",A.X,B.Y);//⑤输出结果
Console.ReadLine();
}
}

分享到:
评论

相关推荐

    C#中静态构造函数的几点说明介绍

    以下是关于C#静态构造函数的详细说明: 1. 访问性与参数: 静态构造函数没有访问修饰符,如public或private,因为它们由.NET框架自动调用。同样,它们也不接受参数,因为它们不用于创建实例,而是用于初始化类级的...

    C#中的构造函数视频

    静态构造函数不接受参数,也不能被直接调用,而是由运行时系统在第一次访问类的静态成员时自动调用。 五、构造函数的重载 通过提供多个具有不同参数列表的构造函数,可以实现构造函数的重载。这使得创建类的实例时...

    C#中构造函数和析构函数的用法

    它没有参数,不能被显式调用,当首次引用该类或首次加载类时,系统会自动调用静态构造函数。 **3. 继承与构造函数** 在继承结构中,派生类的构造函数必须显式调用基类的构造函数。这通常通过构造函数内的`base`...

    浅析C#静态类,静态构造函数,静态变量

    C#中的静态类、静态构造函数和静态变量是编程中重要的概念,它们在程序设计中起着关键的作用。 首先,让我们来理解静态类。在C#中,静态类是一种特殊的类,它不能被实例化,只能通过类名直接调用其静态成员。静态类...

    C#静态构造函数用法实例分析

    本文实例讲述了C#静态构造函数用法。分享给大家供大家参考。具体如下: 当我们想初始化一些静态变量的时候,就需要用到静态构造函数了。这个静态构造函数属于类,而不属于实例,就是说这个构造函数只会被执行一次,...

    dotnet C# 反射扫描程序集所有类型会不会触发类型静态构造函数.rar

    在C#中,静态构造函数是隐式声明的,它在类的第一次使用时(例如创建实例或访问静态成员)被自动调用,且仅执行一次。静态构造函数主要用于初始化类的静态字段,确保在类的生命周期内只进行一次初始化。 反射API则...

    C#静态调用webservice

    通过以上步骤,我们可以利用C#静态调用Web Service,实现从客户端应用程序访问IIS上的数据库服务。这种方式简化了调用流程,减少了资源消耗,同时也提供了跨平台通信的能力。然而,实际项目中还需要考虑更多的细节,...

    C#中静态变量的使用

    C#中静态变量的使用 C# 中静态变量的使用是指在 C# 语言中使用静态变量的方法和技术。本文将详细介绍静态变量与...静态变量和静态构造函数是 C# 语言中两个重要的概念,它们可以帮助开发者更好地实现一些特殊的需求。

    C# 静态构造函数使用

    当我们想初始化一些静态变量的时候,需要用到静态构造函数了。这个静态构造函数属于类,而不属于实例,是说这个构造函数只会被执行一次,即:在创建第一个实例或引用任何静态成员之前,由.NET自动调用。  现在碰到...

    解析C#中的私有构造函数和静态构造函数

    本文将深入解析两种特殊的构造函数:私有构造函数和静态构造函数,它们在C#入门学习中扮演着重要角色。 **私有构造函数** 私有构造函数是一种具有`private`访问修饰符的构造函数,它限制了类的实例化,通常用于只...

    第八章 C#构造函数.docx

    - 静态构造函数与实例构造函数并存,两者执行时机不同:静态构造函数在类加载时执行,实例构造函数在创建实例时执行,所以它们之间不会冲突。 3. 构造函数初始化器: - 当一个构造函数需要基于另一个构造函数进行...

    C#MVC实现带参数的构造注入

    在C# MVC中,如果我们想要在控制器的构造函数中传入依赖,通常需要执行以下步骤: 1. **安装Castle Windsor**:在项目中添加对Castle Windsor的引用。这可以通过NuGet包管理器完成,搜索并安装`Castle.Windsor.MVC`...

    C# 静态构造函数使用总结

    以下是关于C#静态构造函数的一些关键点: 1. **访问性**:静态构造函数没有访问修饰符。这意味着它们默认为私有,不能从类外部直接调用。 2. **自动调用**:静态构造函数在类的静态成员首次被引用或类的第一个实例...

    dotnet C# 如果在构造函数抛出异常 是否可以拿到对象赋值的变量.rar

    - 使用静态构造函数初始化静态字段,它们在类的任何实例创建之前运行,且不能抛出可被捕获的异常。 - 在设计类时,考虑异常安全性,确保即使在异常情况下,类的状态也能保持一致。 以上就是关于标题和描述中提到...

    小组学习:使用构造函数

    3. 避免在构造函数中抛出异常,因为这会导致对象的创建失败,而且很难捕获和处理。 五、工厂方法和构造函数 在某些情况下,我们可能希望控制对象的创建方式,这时可以使用工厂方法。工厂方法是一种特殊的静态方法...

    重写重载构造函数

    如果类不是静态的,C#编译器将为无构造函数的类提供一个公共的默认构造函数,以便该类可以实例化。 私有构造函数可以阻止类被实例化。例如: C#复制代码 class NLog { // Private Constructor: private NLog() {...

    c#函数方法,构造函数与析构函数

    在C#编程语言中,函数方法、构造函数与析构函数是对象导向编程的重要组成部分,它们各自承担着不同的角色,并且对于程序的正确运行和优化性能具有重要作用。下面将详细介绍这三个概念及其用法。 ### 函数方法 在C#...

Global site tag (gtag.js) - Google Analytics