开发者社区
MS VM -Common Language Runtime
把学到的东西记在自己的私人笔记中很方便,如果将他们分享出来,就不得不想着怎么排版会好一些,某些句子有没有更合适的描述,甚至是内容有误怎么办? 如果是这样的话,占用的时间和精力就太多了,反而会让分享变成一种负担。所以,有时间的情况下,就写得详细一些,没时间就以分享我的随笔为主。文中有误的地方,还希望大家能够指正,更欢迎补充~Delegate和Event有什么区别?Delegate是引用类型,会在CL
在探讨foreach如何内部如何实现这个问题之前,我们需要理解两个C#里边的接口,IEnumerable 与 IEnumerator. 在C#里边的遍历集合时用到的相关类中,IEnumerable是最基本的接口。这是一个可以进行泛型化的接口,比如说IEnumerable<User>.在微软的。NET推出了这两个接口后,才有了foreach的用法,可以说,foreach是建立在这两个接口
这篇文章主要分享的是我对C#中继承的理解。继承是可用传递的 , 子类是对父类的扩展 , 必须继承父类的方法,同时在子类中添加新方法。子类可用调用父类的公用方法和字段 , 而父类不能调用子类的成员。子类不仅继承了父类的共有成员 , 同时也继承了父类的私有成员 , 只是在子类中不能被访问。继承的三个关键字:abstract 抽象:用来限定类时,类中的方法不能有方法实体;用来限定方法时,同样
1、对C#反射机制的理解2、概念理解后,必须找到方法去完成,给出管理的主要语法3、最终给出实用的例子,反射出来dll中的方法反射是一个程序集发现及运行的过程,通过反射可以得到*.exe或*.dll等程序集内部的信息。使用反射可以看到一个程序集内部的接口、类、方法、字段、属性、特性等等信息。在System.Reflection命名空间内包含多个反射常用的类,下面表格列出了常用的几个类。类型作用Ass
简介序列化是指将对象实例的状态存储到存储媒体的过程。在此过程中,先将对象的公共字段和私有字段以及类的名称(包括类所在的程序集)转换为字节流,然后再把字节流写入数据流。在随后对对象进行反序列化时,将创建出与原对象完全相同的副本。在面向对象的环境中实现序列化机制时,必须在易用性和灵活性之间进行一些权衡。只要您对此过程有足够的控制能力,就可以使该过程在很大程度上自动进行。例如,简单的二进制序列化不能满足
背景:前段时间用Xamarin.OSX开发一些工具,遇到了两个问题。 QFramework的大部分的类耦合了Unity的API,这样导致不能在其他CLR平台使用QFramework。QFramework定义了太多了命名空间,如果使用vs for mac或者MonoDevelop开发项目很不方便,每次都要先using命名空间IDE才会提供代码提示,当然用Rider就没有这个问题。 基于以上几点进行
下面给大家揭秘下Unity coroutines 协同系统,主要是帮助大家去理解UNity协同系统并让大家可以更有效地使用它。UNity协同程序可能似乎有点奇怪,很少有人知道他们是如何工作的,所以建议那些不了解UNity协同程序的一定要看看。了解IEnumerator你能猜到,协同工作与 IEnumerator接口和 CLR 枚举实现有关,所以我们首先应该明白这些东西是如何工作。最初,
如何在Unity 中使用C#6.0,可能有很多开发者觉得不可能,但是如果大家有去尝试使用,发现确实是在unity 中是可以使用C#6.0的。Unity使用的结构 CLR 2.0 已有很长的时间,但几乎所有最新的 C# 功能不需要最新版本的 CLR。微软和Mono编译器可以为 CLR 2.0 编译 C# 6.0 代码。C# 4.0 附带的 后期绑定 (dynamic) 功能仍