随笔分类 - C#
摘要:1.先看如何调用,以及类的定义 执行结果如下: 生成代码类的代码如下: public class AopFactory { public static I CreateAopObj<I, T>() where T : class, new() where I : class { return Aop
阅读全文
摘要:创建动态方法,在动态方法中创建对象.这样就可以避免使用Activator.CreateInstance /// <summary> /// 生成动态方法 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="type
阅读全文
摘要:/// <summary> /// 使用Il生成程序 /// </summary> /// <param name="args"></param> static void Main(string[] args) { //1.生成类型 保存到指定DLL中 AssemblyName asmName =
阅读全文
摘要:使用 RNGCryptoServiceProvider 对象 传送地址 代码如下: /// <summary> /// 生成指定区间的随机数 /// </summary> /// <param name="minNumber">最小值</param> /// <param name="maxNumb
阅读全文
摘要:最近新装了2017,开始前几天还好, 可是最近在添加引用时,报错 Microsoft Visual Studio 未能正确加载“ReferenceManagerPackage”包。 此问题可能是因配置更改或安装另一个扩展导致的。可通过查看文件“C:\Users\Administrator\AppDa
阅读全文
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Reflection; using System.Text; using System.Threading.Tasks; using Autofac; namespace Co...
阅读全文
摘要:class Program { static List sort = new List(); static int[] intSort = new int[4]; static int[] array = new int[] { 1, 3, 5, 9 }; static bool[] arrayBool = new...
阅读全文
摘要:为了演示,创建了一个类 我们来看表达式树究竟是个什么东西 这个就是表达式树啦,可以看到它最重要的就是Body 在这里我们就可以找到我们写的表达式了 下面我们通过一个例子来看表达式树怎么用 因为内置的ExpressionType没有办法满足我们的要求,所以我们重写 然后我们简单的调用一下 接下面我们写
阅读全文
摘要:static void Main(string[] args) { try { //创建一个编码实例用来将字符串转换成byte数组 UnicodeEncoding ByteConverter = new UnicodeEncoding(); ...
阅读全文
摘要:声明一个枚举: 反编译 我们可以看到,我们创建的枚举自动继承自System.Enum,那么Enum又是怎么样的呢? 可以看到Enum是一个抽象类,它继承自ValueType但它又不是一个值类型,所以它有点特殊 那么枚举中到底可以有哪些类型呢? 通过查看源代码我们看到了一个ValuesAndNames
阅读全文
摘要:执行代码: 运行结果: 有的人肯定想这个是理所当然的,因为一般的执行过程如下: 1.静态字段 2.静态构造函数 3.实例字段 4.实例构造函数 但如果我们稍微的修改一下代码呢!!! 这个你知道是为什么吗? 要解释这个,我们还需要知道类型构造器(.cctor) 我们将从源代码解析!!!! 我们可以看到
阅读全文
摘要:对象创建时的内存分配 CLR管理内存的三块区域: 线程的堆栈 由系统管理,自动释放空间 GC堆 用于分配小对象实例 <85000字节 LOH(Large Object Heap) 大对象,在完全GC回收时被回收 每个对象创建时会附加三个对象 1.TypeHandle 类型句柄 2.SyncBlock
阅读全文
摘要:概念: 进程是操作系统对一个正在运行的程序的一种抽象(处理器,主存,I/O设备),进程是并发的 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。线程是并行的 线程的特性: 1.线程的执行顺序由操作系统来决定 2.状态: 1.Unstarted 就是Thread实例化了,但是又没有调用Sta
阅读全文
摘要:值类型一般有:int bool shor long float double decimal enum struct 引用类型一般有:string object class interface int[] int[,] delegate 值类型总是分配在它声明的地方 引用类型总是分配在托管堆上 ca
阅读全文
摘要:下载点 密码:csxd 还有很多没有完善,也不知道写的方式对不对,希望有人给出一些建议给我,好让我写完
阅读全文
摘要:public class VerificationCodeHelper { private int isFuhao = 0; private List<string> _fuHao; private List<Color> _Color; private List<Font> _Font; priv
阅读全文
摘要:装箱和拆箱 所谓的装箱和拆箱呢,也就是值类型和引用类型之间的转换. 而为什么会有转换呢?是因为这两个不在同一个环境,一个在线程栈,一个在托管堆上 什么是值类型 值类型也就是一般不包含指向实例的指针,一般用struct来标志,反之就是引用类型(class) 装箱 和现实中联系起来,也就是将某个东西进行
阅读全文
摘要:.NET Framework 部署目标 DLL hell 安装一个程序,破坏了另一个程序 安装的复杂性 设计的东西太多 涉及安全性 自动下载 将类型生成到模块中 使用csc.exe 进行编译 /out: 生成可执行文件 /t:exe 生成的文件是Win32控制台应用程序类型 /r: 应用库 /nos
阅读全文
摘要:CLR(通用语言运行时) JIT(及时编译器) IL(中间语言) CLS(公共语言规范) FCL(Framework class libarly) CTS(通用类型系统) 托管模块 中间语言IL 元数据(一个数据表集合,比如类型及成员,导入的类型和成员.....) 元数据和IL文件关联 程序集 程序
阅读全文