昨天杨教授在群里面问我一个问题,如何用C#打印当前行号和函数名,类似于C中的 __FILE__
, __LINE__
, __THIS_FUNCTION__
关键字。
我当时给出的方案是几年前我写ASP服务端时用的方法,代码如下:
晚上闲着无聊随手翻了一下MSDN,看到一篇Caller Information的文档,可以使用如下Attribute实现这个功能,效率也会更高:
不过这些Attribute是.Net4.5提供的,而杨教授弄这个是为Unity3d,自然不支持了。
提到Unity3d的log文件,其实没必要自己获取这些,使用Debug.Log写日志,会自动记录。
在我的项目里面,使用 Application.RegisterLogCallback
注册了一个回调函数,就实现了这些功能。
本文链接, 未经许可,禁止转载