特定クラスのサブクラスをすべて取得する方法のメモです。
Unityのエディタ拡張のときによく忘れるのでメモ。
ソースコード
System.Reflection.Assembly.GetAssembly(typeof(Example)) .GetTypes() .Where(x => x.IsSubclassOf(typeof(Example)) && !x.IsAbstract) .ToArray();
サブクラスをインスタンス化
ちなみに上記のように取得したサブクラスをインスタンス化するにはActivatorを使います。
var instance = System.Activator.CreateInstance(subClassType) as Example;