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) まつだす,BATA,㊥Maruchu,うにたじゃむお,栗坂こなべ,森理 麟,alwei 翔泳社 売り上げランキング : 27545 Amazonで詳しく見る |