クラス名(文字列)からTypeを取得する方法についてです。
タイプを取得する
リフレクション等を駆使して何らかのアクションを行うエディタ拡張を作る際、名前からクラスのTypeを取得したく鳴る事があります。
その辺りを使用する場合、Unityの便利APIで、下のように取得することが出来ます。
string typeName = "UnityEngine.MonoBehaviour";
System.Type targetType = UnityEngine.Types.GetType (typeName, "UnityEngine.dll");
Debug.Log (targetType);
Unity 5.5以降の場合
Unity 5.5以降、Typesは使えなくなったため上記の方法ではエラーになります。
error CS0619: `UnityEngine.Types.GetType(string, string)' is obsolete: `This was an internal method which is no longer used'
タイプを取得したい場合、下のように記述します。
string typeName = "UnityEngine.MonoBehaviour";
System.Type targetType = System.Reflection.Assembly.Load("UnityEngine.dll").GetType(typeName);