很多插件以及工具类,都会有一个初始化函数,需要在项目启动时手动调用,比较麻烦也提高了代码耦合性,Unity5.0以上的版本,针对这种情况,提供了新的特性RuntimeInitializeOnLoadMethodAttribute帮助自动初始化。
很多插件以及工具类,都会有一个初始化函数,需要在项目启动时手动调用,比较麻烦也提高了代码耦合性,Unity5.0以上的版本,针对这种情况,提供了新的特性RuntimeInitializeOnLoadMethodAttribute帮助自动初始化。
曾经有一版的架构设想是根据继承的基类、接口自动实例化相关子类,但考虑到全由架构管理实例化的固定参数、随机顺序等问题,最后推翻了这种做法,但是相关代码却是可以保留下来用于其他需求,大体思路是从程序集获取所有Type,然后遍历查找是否继承于某接口或基类
C#在.NET 3.0的时候,新增了一个扩展方法的概念,它可以在不更改原始类结构函数的基础上,加入新的扩展函数。扩展方法这个概念本质上是属于C#的,但是由于测试环境是U3D,所以也测试了部分基于U3D类型的扩展方法。
最近Unity写一些管理类的时候,不免需要用到一些可选参数的函数,但是调用的时候必须要以顺序填写参数,导致需要用到后面参数的时候,就需要填写之前的参数,失去了“可选”的意义。
为此专门去找了下解决方法,最终找到具名参数调用的方式,特别记录一下。
以前做.NET winform的时候,一直都是用 Console.Write向控制台输出信息的,这次做web的时候,发现这个语句用不了。
查了一下资料,才发现web程序执行时,是被附加到IIS进程的一个单独的AppDomain中的,所以就算有输出也看到,所以Console.Write调试信息无法显示出来。
那么解决办法是,用debug代替:
System.Diagnostics.Debug.Write(“”);
这几天公司有个设备进来,需要将项目部署到服务器上通过HTTP访问,以前只做过Web窗体的项目部署,也算是一个新的挑战了,折腾了一天,在大佬的帮助下艰难成功,记录一下。