07 2020 档案
摘要:在最近的项目中,牵涉到项目源代码保密问题,由于代码是C#写的,容易被反编译,因此决定抽取核心算法部分使用C++编写,C++到目前为止好像还不能被很好的反编译,当然如果你是反汇编高手的话,也许还是有可能反编译。这样一来,就涉及C#托管代码与C++非托管代码互相调用,于是调查了一些资料,顺便与大家分享一
阅读全文
摘要:创建dll 1.打开vs,点击文件-->新建-->项目。 2.选择C++下面的windows桌面,右边选择动态链接库(DLL)。新建成功之后,默认为x86平台。 按照你自己的需求更换平台,必须调用的和被调用的dll同为一个平台。 3.新建之后,在头文件中添加mydll.h,内容为: #define
阅读全文
摘要:dll函数库源码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Form
阅读全文
摘要:泛型类需要返回null时,可使用default(T) 泛型的常见限制 /// <summary> /// 示例中class,struct 限制必须在所有限制之前,new()必须在所有限制之后,T3必须显示的实现T1 /// IAtt为某个自建接口,写某个类也一样 /// </summary> ///
阅读全文
摘要:C#中指针使用总结 C#为了类型安全,默认并不支持指针。但是也并不是说C#不支持指针,我们可以使用unsafe关键词,开启不安全代码(unsafe code)开发模式。在不安全模式下,我们可以直接操作内存,这样就可以使用指针了。在不安全模式下,CLR并不检测unsafe代码的安全,而是直接执行代码。
阅读全文
摘要:主要区别: Client/Server是建立在局域网的基础上的.Browser/Server是建立在广域网的基础上的. 1.硬件环境不同 C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务. B/S 建立在广域网之上的, 不必是专门的网络硬件环境
阅读全文
摘要:#region [ API: 记事本 ] /// <summary> /// 传递消息给记事本 /// </summary> /// <param name="hWnd"></param> /// <param name="Msg"></param> /// <param name="wParam"
阅读全文
摘要:反射中 SetValue(object obj, object value) 函数中 参数1的obj对象需要是引用类型(例:class ),而Struct 为值类型 因此结构体 声明的对象 不能直接使用SetValue函数赋值 怎么实现Struct反射赋值,没有研究明白,只能暂时使用class
阅读全文
摘要:一、初始了解 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.Sockets; using System.
阅读全文
摘要:2020-07-06 System.Windows.Forms 引用,右键-》添加引用-》程序集-》System.Windows.Forms 4.0.0.0 选中-》确定 System.Drawing 引用,右键-》添加引用-》程序集-》System.Drawing 4.0.0.0 选中-》确定 V
阅读全文
摘要:工具-扩展管理器-联机库-全部搜索:Indent Guides,根据提示安装,重启就好了。 效果如下
阅读全文
摘要:在新c#项目的时候,建类库时候,会看到类库和可移值类库。 那么这两种类库有什么区别? 所谓类库,只能指定一个类库的可运行平台。 而可移值类库,可以在无需修改代码的情况,同时可以在多平台上运行DLL文件。多平台如NET Framework、Silverlight、Windows Phone 7 或 X
阅读全文

浙公网安备 33010602011771号