【Unity】既存のクラスの拡張する

Unityで元から用意されているクラスを拡張する方法に「拡張メソッド」というモノがあります。 これを利用すれば、クラスを触らなくてもメソッドを追加することができます。

クラスの拡張

「拡張メソッド」を作成するのは非常に簡単です。 まずは何でも良いのでクラスを作成します。(今回はExClassです) その中に、拡張したいクラスと追加をしたいメソッドを記述します。 [c] public static class ExClass{

//stringクラスを拡張しています。
//_strはメソッドを利用するインスタンスです。
public static int getStringLength(this string _str){


    return _str.Length;

}

}

[/c]

今回は[string]クラスを拡張します。 文字の長さを返すメソッドを作成しました。

利用する

先ほどのメソッドを利用します。 static(静的)メソッドですが、インスタンスから呼び出しを行います。 [c]

var stringLength = "hogehoge".getStringLength(); Debug.Log("hoge length:"+stringLength); //8

[/c]

理解をすればとても簡単です。 ただ、使いすぎるとややこしくなりそうなので気を付けたいですね。

【参考】

Unity5 3Dゲーム開発講座 ユニティちゃんで作る本格アクションゲーム (Smart Game Developer)Unity5 3Dゲーム開発講座 ユニティちゃんで作る本格アクションゲーム (Smart Game Developer)
まつだす,BATA,㊥Maruchu,うにたじゃむお,栗坂こなべ,森理 麟,alwei

翔泳社
売り上げランキング : 27545

Amazonで詳しく見る