c#构造器的一点理解(三)
本章的重点是 类型构造器
sealed class baseClass{public void Test(){Console.WriteLine("基类") ; }static baseClass() //只能是无参,statci的,private的,但是private还不能显示指定。 {throw new Exception("") ; //有这句代码,使用类型的的时候就报错 ,意思也就是类型构造器不能有错误,有了错误,那么整个类型就不能使用了。Console.WriteLine("类型构造器") ; }}
类型构造器的常规用途就是初始化 静态字段。
struct someTypa{static int a = 5 ;}
但是
struct someTypa{int a = 5 ;}
这么些就是错误的 为什么那 ? 因为第二种情况是值类型无参构造函数的写法,但是值类型又不允许有无参构造器。所以是错误的
using System;
using System.Data;
using System.Text;namespace myStu
{/*值类型 最好不要定义类型构造器引用类型可以定义类型构造器,但是只能是一个。本程序主要是为了加深类型构造器而写的一个学习用的程序。*/class programe{ static void Main(string[] arg){try{ sonclass obj = new sonclass() ; //首先调用类型构造器。 //还有一个疑问,为什么这里还要调用父类的类型构造器//是否可以这么理解,//首先的调用子类的类型构造器,//然后调用基类的实例构造器钱,这个时候出发了 基类的类型构造器。//调用基类的实例构造器//调用子类的实例构造器 . 能把这句话搞清楚就说明你进步了。哈哈obj.Test() ;sonclass obj1 = new sonclass() ; //这里就不调用类型构造器了。 obj1.Test() ;}catch (Exception err){Console.WriteLine(err.Message);}}}class baseClass{public static Int32 i = 5 ;public void Test(){Console.WriteLine("测试的动作") ; }public baseClass(){Console.WriteLine("基类的实例构造器");}static baseClass() //只能是无参,statci的,private的,但是private还不能显示指定。 {//throw new Exception("") ; //有这句代码,使用类型的的时候就报错 ,意思也就是类型构造器不能有错误,有了错误,那么整个类型就不能使用了。Console.WriteLine("基类的类型构造器") ; }}class sonclass :baseClass{static sonclass () {Console.WriteLine("子类类型构造器") ; }public sonclass(){Console.WriteLine("子类的实例构造器");}}struct someTypa{static int a = 5 ;}
}
类型构造器的调用 以及性能问题
转载于:https://www.cnblogs.com/sdgxbooy/archive/2012/01/03/8902794.html
c#构造器的一点理解(三)相关推荐
- mixin机制 vue_谈谈vue中mixin的一点理解
谈谈vue中mixin的一点理解 vue中提供了一种混合机制--mixins,用来更高效的实现组件内容的复用.最开始我一度认为这个和组件好像没啥区别..后来发现错了.下面我们来看看mixins和普通情 ...
- 谈谈对APC的一点理解
谈谈对APC的一点理解 异步过程调用(APCs) 是NT异步处理体系结构中的一个基础部分,理解了它,对于了解NT怎样操作和执行几个核心的系统操作很有帮助. 1) APCs允许用户程序和系统元件在一个进 ...
- 对事件循环的一点理解
最近工作需要学习了解webworker-threads以应对Javascript多线程处理CPU密集型的可能性:参考文档JavaScript多线程之二 Node.js中的Web Worker; 以下是 ...
- Tecplot中用excel表格绘制xy图的一点理解
原文地址:Tecplot中用excel表格绘制xy图的一点理解作者:又见谷雨 在画图的时候遇到一些问题,比如想用excel中的数据画xy图,那么应该怎样加载这些数据呢.在网上查找了下,也没有详细的说法 ...
- 2.深入一点理解C源程序的编译过程
2.深入一点理解C源程序的编译过程 本文章的大多数灵感及知识来源于南京大学的计算机系统基础教材,如果希望更加深入地对相关知识做进一步了解,可以移步上述相关资源.在网上可以轻易获得上述资源,mooc也有 ...
- 有关WLAN与wifi、WPAN与Bluetooth、WPAN与802.15、wifi与802.11、WiMAX与802.16等关系的一点理解
http://blog.csdn.net/jbb0523/article/details/7269964 题目:有关WLAN与wifi.WPAN与Bluetooth.WPAN与802.15.wifi与 ...
- oracle中sga可以共享么,关于共享段与SGA的一点理解
关于共享段与SGA的一点理解 上一周买了两本书,google了不少文档资料,看了看部分linux源代码终于有了以下一些理解.不知对不对 一 各类地址概念 1 逻辑地址:我们一般在用汇编语言写程序时可能 ...
- Service的一点理解
前言 正文之-Service Service几个遗漏的地方 前言 写了一半电脑蓝屏了,没有保存,差点就放弃写这个东西了.但是谁叫咱是程序员呢,好脾气不是吹的,调整一下来写第二遍. 标题是Service ...
- ElasticSearch 深入理解 三:集群部署设计
ElasticSearch 深入理解 三:集群部署设计 ElasticSearch从名字中也可以知道,它的Elastic跟Search是同等重要的,甚至以Elastic为主要导向. Elastic即可 ...
最新文章
- WIN7的CMD界面下输入ipconfig后提示不是内部或外外部命令,也不是可运行的程序或批处理文件...
- 开关电源过流保护-打嗝模式
- WinFrom下Webbrowser加载自定义页面的技巧
- @configuration注解_超级全面的 SpringBoot 注解介绍,每一个用途都应该清晰
- 软件工程 speedsnail 第二次冲刺1次
- retinex算法小感
- arduino学习系列——DHT11温湿度传感器的使用
- 互联网,我的二十年体验
- idea合并svn不同分支_如何在Intellij IDEA中使用svn合并分支到主干?
- 经典的Java算法面试题
- win10配置jdk11
- Manjaro 安装xmind 8
- 常用开发软件下载网站集合
- 基因组测序数据分析linux,基因组重测序数据分析脚本
- ECMAScript历史
- Unity3D-VR《静夜诗》5-李白吟诗
- PS纳米纤维膜 聚苯乙烯 纤维直径500-2000nm
- 使用Zbrush,Maya制作角色模型Xgen毛发流程
- 为啥VUE和React都选择hooks
- 云计算技术基础 第2章 云计算的架构及国内外标准化情况(2)