URL: http://qiita.com/rodostw/items/39183e62ed2a1f52f690
他のクラスでDebugクラスがあれば、このテクニックが使えない。
たとえば今回「SQLiteKit」で「System.Diagnostics」を使ってるのでハマった。
Debug.Assertを使ってる箇所があるので、
Debugが何故か先ほどのサイトで記載したUnityを上書きしてしまう。
URL: http://forum.unity3d.com/threads/38720-Debug-Log-and-needless-spam
このようにUnityEngine.Debugを継承していますよってアピールさせることを思いついて
class Debug : UnityEngine.Debug
{
}
を書いたが、Debugにsealed typeという継承禁止が定義されててできない・・。
error CS0509: `Debug': cannot derive from sealed type `UnityEngine.Debug'
どうしたものか。
仕方ないので、
using System.Diagnostics;
のネームスペースをこの上書きDebugクラスに追加し、
System.Diagnostics.Debugのメソッドに転送するために追加した
// for SQLiteKit public static void Assert (bool condition) { System.Diagnostics.Debug.Assert (condition); }