随笔分类 - C#
摘要:这是一些网友的文章,仅供参考,还没验证现在的ILRT版本是否还存在: ILRuntime热更方案坑点 - 那一轮弯月~ - 博客园 (cnblogs.com) 1.在热更工程里使用主工程声明的二维索引器,会出错,目前还没测试是传入的二维坐标变成其他数字,还是返回的时候变成其他,亦或者是中间函数出问题
阅读全文
摘要:先来个测试: 结果: 结论: 参考文章: Type casting impact over execution performance in C# Introduction Explicit and implicit type casting is a common programming topi
阅读全文
摘要:最近在写WinForm,在UI界面需要用到异步的操作,比如加载数据的同时刷系进度条,WinForm提供了不少多线程的操作, 但是多线程里,无法直接修改主线程里添加的UI的get/set属性访问器(可以通过关闭线程安全警告来暴力操作,但是不推荐), 另外的方法就是利用BackgroundWorker来
阅读全文
摘要:最近玩了款steam独立游戏,没中文,只能自己汉化了,用腾讯跟百度的API实现了一个通用的机翻程序(只需要导入JSON文本), 同样,比较懒,还没写,先占坑
阅读全文
摘要:白话插件框架原理 WPF 插件开发(.NET Framework 3.5 System.Addin) 原文:AddIn Enabled Applications
阅读全文
摘要:源代码是别人的,你就不能修改源代码,只提供给你dll。或者你去维护别人的代码,源代码却有丢失。这样的情况如果你想知道私有成员的值,甚至去想直接调用类里面的私有方法。那怎么办呢?其实在.net中访问私有成员不是很难,这篇文章提供几个简单的方法让你如愿以偿。 为了让代码用起来优雅,使用扩展方法去实现。
阅读全文
摘要:VS预生成事件命令行 和 生成后事件命令行 宏说明 $(ConfigurationName) 当前项目配置的名称(例如,“Debug|Any CPU”)。 $(OutDir) 输出文件目录的路径,相对于项目目录。这解析为“输出目录”属性的值。它包括尾部的反斜杠“\”。 $(DevEnvDir) Vi
阅读全文
摘要:Mono Cecil十分强大,强大到可以静态注入程序集(注入后生成新的程序集)和动态注入程序集(注入后不改变目标程序集,只在运行时改变程序集行为),它甚至可以用来调试PDB MDB调试符号格式文件。 注:仔细看了下,并不支持“动态”注入,cecil只支持从硬盘加载或从内存读取一个已经被加载了的ass
阅读全文
摘要:1.C#层:利用.NET framework的CodeDom或Mono的Evaluator动态编译解释CS脚本 2.IL层:利用System.Reflection.Emit或Mono.Cecil动态生成IL指令并执行 3.造轮子自己实现IL解释器(取代.NET或Mono的IL解释器,这种方案可以绕过
阅读全文
摘要:先上几篇博客链接: 一步步教你读懂NET中IL(图文详解) C#基础之IL 详解.NET IL代码 C# IL DASM 使用 你必须知道的.NET 《C# to IL》、《Expert .NET 2.0 IL Assembler》等书籍的翻译博客 初识Ildasm.exe——IL反编译的实用工具
阅读全文
摘要:概念 反射这东西,对于我这种小白,听起来总是觉得好大上的。 当初理解它费了一点时间,后来看了一句话,突然恍然大悟,“反射就跟B超一样,我们在不剖开人体的情况下想看清楚内部情况, 我们就通过发射超声波,然后根据超声波反射回来的情况,描绘出人体内部的细节”。 比喻得很形象呢呵呵,C#的反射也差不多这样,
阅读全文
摘要:设计模式,是一个程序员稍微进阶点的问题了。之前在开发的时候用过不少方法,包括Instance单例模式(最常见的就是游戏中的各种全局管理器等),以及订阅-发布(又称观察者模式)等,当时用的时候纯粹是觉得用这些方法能够优雅些,能够使代码整洁、规整下。也没想过这些事什么,直到最近无意看到一本书《大话设计模...
阅读全文
摘要:1.C#中[],List,Array,ArrayList的区别 [] 是针对特定类型、固定长度的。 List 是针对特定类型、任意长度的。 Array 是针对任意类型、固定长度的。 ArrayList 是针对任意类型、任意长度的。 Array 和 ArrayList 是通过存储 object 实现任
阅读全文