C#的构造函数
做项目时偶尔需要知道C#中构造函数的执行顺序,随手写了一段代码:
1: class Program
2: {
3: class A
4: {
5: static A()
6: {
7: Console.WriteLine("A static ctor");
8: }
9:
10: public A()
11: {
12: Console.WriteLine("A ctor");
13: }
14:
15: }
16:
17: class B : A
18: {
19:
20: static B()
21: {
22: Console.WriteLine("B static ctor");
23: }
24:
25: public B()
26: : base()
27: {
28: Console.WriteLine("B ctor");
29: }
30: }
31:
32: class C : B
33: {
34:
35: static C()
36: {
37: Console.WriteLine("C static ctor");
38: }
39:
40: public C()
41: : base()
42: {
43: Console.WriteLine("C ctor");
44: }
45: }
46:
47: static void Main(string[] args)
48: {
49: new C();
50: }
51: }
执行结果:
动态和静态构造函数在调用链上正好反序,想想也对,静态是一碰就会执行的嘛。
posted on 2011-09-08 14:14 薛定谔的旺财(刘杨) 阅读(244) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述