C#
海盐布丁
这个作者很懒,什么都没留下…
展开
-
日落20190228001 - C#基础之CLR的编译过程及托管模块的作用
(1)CLR的编译过程Created with Raphaël 2.2.0编译语言编译器:把源代码编译成托管模块托管模块(包括:中间语言和元数据)JIT编译器:把托管模块编译成本地CPU指令本地CPU指令(2)托管模块的组件中间语言:Intermediate Language,简称IL,由于是托管模块的语言,IL代码=托管代码。元数据:是一组数据表,既有描述托管模块定义的类型和成员的数据表...原创 2019-02-28 19:06:29 · 239 阅读 · 0 评论 -
日落20190901002 - C#基础之Attribute的检测应用
环境系统:Windows 10引擎:VS2017目的通过制作自定义的Attribute类,进行检测目标元素是否绑定某特性的实例。实例using System;using System.Reflection;namespace AttributeTest{ #region 特性类 [AttributeUsage(AttributeTargets.All, ...原创 2019-09-01 16:48:20 · 230 阅读 · 0 评论 -
日落20190901001 - C#基础之Attribute与目标元素的关系
一、Attribute——目标元素——元数据AttributeBindAttributeFlagsAttributeSerializableAttributeInAttributeOutAttribute...Attribute应用于目标元素类枚举委托属性字段结构接口方法方法参数方法返回值事件泛型类型参数程序集模块生成到元数据其中,字段(Field)是指以readonly或static修饰的...原创 2019-09-01 16:46:49 · 113 阅读 · 0 评论 -
日落20190523002 - C#基础之泛型方法的类型参数限制
环境系统:Windows 7引擎:VS2013目的制作一泛型方法,说明类型推断对类型参数的限制。实例using System;namespace GenericsFunctionTest{ class Program { private static void Swap<T>(ref T o1, ref T o2) ...原创 2019-05-23 20:49:14 · 917 阅读 · 0 评论 -
日落20190523001 - C#基础之泛型继承的链表玩法
环境系统:Windows 7引擎:VS2013目的泛型类通过继承的方式,可实现同一链表中具有不同类型的元素。实例:相同类型链表与不同类型链表的比较(1)代码:using System;namespace GenericsLinkedListTest{ class Program { #region 相同类型链表 inter...原创 2019-05-23 12:50:44 · 137 阅读 · 0 评论 -
日落20190523003 - C#基础之泛型与约束
(1)约束的作用如果没有约束,泛型能做的事就只有赋值和调用一下Object定义的几个方法。→ 古有千里马遇伯乐,今有泛型遇约束。(2)虚泛型方法重写虚泛型方法时,不允许指定约束,因为只能继承原方法的约束。→ 继承者们(3)主要约束的指定没有指定主要约束,即默认为System.Object,但如果显示指定System.Object,就会报错error CS0702。→ 傲娇(4)约...原创 2019-05-25 02:12:58 · 101 阅读 · 0 评论 -
日落20190418001 - C#基础之装箱拆箱Story
(1)装箱过程客户银行职员保险库需要把我的资产(值)存进保险库(堆)找到一个可以放得下这批资产的保险库(分配堆内存)还得额外做两个事务,一是对这批资产的类型做标记(类型对象指针),二是记录资产信息和加个锁(同步块索引)您好,保险库开好了给,这是我要存的资产把客户的资产存进保险库(值复制到刚分配的内存堆中)这是您的资产的所属账户(返回对象地址),现在您的资产已保管在保险库里(值类型变成引用类型)客...原创 2019-04-18 12:37:26 · 112 阅读 · 0 评论 -
日落20190330001 - C#基础之托管堆内类对象结构及类型转换实例
(1)设定Created with Raphaël 2.2.0A类派生B类派生C类(2)类实例对象在托管堆的结构图(3)类型转换using System;using System.Text;namespace TypeContactTest{ internal class A { public virtual String GetClassName...原创 2019-04-01 16:49:36 · 135 阅读 · 0 评论 -
日落20190301001 - C#基础之CLR的类型
(1)关系图(2)用语定义CTS:通用类型系统,是CLR的根本。CLS:公共语言规范。Lx:此处定义为各种编译语言,如La,Lb,Lc…(3)关系说明一般来说,各Lx是CTS的真子集,但作为Lx之一的IL则有 IL = CTS,所以CTS ≥ Lx。由于Lx间的通讯接口都需要符合CLS,所以CLS是各Lx的真子集,即Lx > CLS。则有CTS ≥ Lx > CLS。...原创 2019-03-01 16:34:26 · 205 阅读 · 0 评论 -
日落20191001001 - C#基础之条件Attribute的减法艺术
环境系统:Windows 10引擎:VS2017目的通过制作自定义的条件Attribute类及预定义参数,降低元数据的无效信息量。实例#define TEST_1//#define TEST_2using System;using System.Diagnostics;namespace ConditionalAttributeTest{ #region ...原创 2019-10-01 09:43:36 · 110 阅读 · 0 评论