0%

泛型是OOP语言中三大特征的多态的最重要的体现,协变的作用就是可以将子类泛型隐式转换为父类泛型,而逆变就是将父类泛型隐式转换为子类泛型。除了协变和逆变,本文也涉及到C#泛型具体语法、原理、泛型约束、泛型缓存等内容。

有时候需要C#调用C/C++库,如果是异步调用必然涉及回调函数,本文记录一下C#如何调用C++以及如何处理Native的回调。首先生成Windows下的动态库 DLL可以参考: 《演练:创建和使用自己的动态链接库 (C++)》 ,由于是在Windows环境,所以没有做关于平台区分的宏定义。

因为国内普及了IPV6,很多时候不需要再买云服务器也可以自己搭建一些有趣的服务,本篇文章里记载了一些实用的Docker镜像或者是折腾技巧。前提条件一定是通了IPV6,如何判定是否具备IPV6的环境呢? https://test-ipv6.com/index.html.zh_CN 而且有一个可以24小时不关机的小主机,不过要跑较多的服务的话最好内存大点,我开始8G然后又加了16G,无论是开虚拟机还是容器绝对是够用了。

EmmyLua是一款专用于Lua的编辑器插件,支持 Jetbrains 产品家族以及VSCode。EmmyLua插件利用注解 annotation 功能来增加代码提示以及其它编辑器功能。EmmyLua注解功能只是单纯的辅助编辑器代码提示以及其它功能,和Lua代码的实际运行逻辑没有任何关系,因为它们就是普通的Lua注释。

近期发现家里IPV6可用了,那还要百度网盘干啥?折腾起来!最近尝试了一下OpenSUSE这个发行版,不得不说这个发行版做的真好,遇到问题Google一下直接搞定。 OpenSUSE自带读写NTFS的驱动,只需要一行命令即可挂载,再通过SMB、Webdav这些服务建立共享文件夹即可,有时候需要重启机器,所以需要自动挂载硬盘。

XLua是目前国内使用较多的热更新框架(可能是有腾讯加持), Xlua同时也提供了Lua调用C#的能力,其实Lua调用C#的场景更多,要想实现热更新,很多控制逻辑都得写在Lua里,这篇文章主要是记录了Lua如何调用C#,以及踩过的一些坑。

XLua为Unity、 .Net、 Mono等C#环境增加Lua脚本编程的能力,借助xLua,这些Lua代码可以方便的和C#相互调用。 其实除了XLua实现了相互调用的能力,另外通过XLua很容易实现一种热更新方案,动态替换Lua脚本内容,可以看出XLua还是很强的,XLua的原理可以参考另一篇博客《XLua实现原理》。

Lua语言本身并没有提供面向对象的语法机制,这需要我们自己设计实现一套类的机制。首先,对于面向对象编程,至少需要类和对象这两个概念 。目前有两种方式来完成实现Lua的面向对象编程:一种是利用Lua的元表( metatable )来模拟OOP;另一种是利用第三方库封装的OOP能力来写代码(比如middleclass)。