プログラミングで世界を変える

ゲームプログラミングと技術のこと

UnityのDebugクラスを拡張しようとした話

Debug.Tatsuya();

と書くだけで

f:id:splas_boomerang:20160429143417p:plain

と出力されるメソッドを追加しようとした話です。

結論

できませんでした。

静的な拡張メソッドは作成できないのでしょうか

こちらのページでも議論されているのですが、拡張メソッド自体が特殊な形なので、インスタンスメソッドしか拡張できない模様です。

そのため、上記のようなことを実現するためには

new Debug().Tatsuya();

とする必要があります。あまりスマートじゃないですね。

ソースコード

gistに公開してあるので、よければ使ってみてください。

gist.github.com

呼び出し時の第一引数に「あ"」の個数を出力できるようにしてあるため、

new Debug().Tatsuya(1000);

とすることで

f:id:splas_boomerang:20160429143952p:plain

というようなログを出力することも可能です。

参考

いつもお世話になっております! tsubakit1.hateblo.jp