万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    UnityEngineのDebugとSystem.DiagnosticsのDebugクラス

    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);
        }