class Foo { }
class Foo1 : Foo { }
class Foo2 : Foo { }
Temel sınıfı olarak Foo kullanan tüm sınıfları nasıl alabilirim? Devralınan sınıflar aynı mecliste gerekli değildir.Temel sınıfın tüm miras sınıflarını nasıl alabilirim?
class Foo { }
class Foo1 : Foo { }
class Foo2 : Foo { }
Temel sınıfı olarak Foo kullanan tüm sınıfları nasıl alabilirim? Devralınan sınıflar aynı mecliste gerekli değildir.Temel sınıfın tüm miras sınıflarını nasıl alabilirim?
Bu hızlı değil, ancak Foo
bir beton türü (arabirim değil) olduğu sürece çalışmalıdır. Foo
'un kendisi bu kod tarafından iade edilmez.
AppDomain.CurrentDomain.GetAssemblies()
.SelectMany(assembly => assembly.GetTypes())
.Where(type => type.IsSubclassOf(typeof(Foo)));
Bunu yapmanın daha hızlı bir yolu olduğunu sanmıyorum. – SLaks
Tasarım veya çalışma zamanında? Eğer tasarım varsa bu soruya bazı ipuçları için başvurabilirsiniz http://stackoverflow.com/questions/282377/visual-studio-how-do-i-show-all-classes-inherited-from-a-base-class –
Çalışma zamanında, teşekkürler. – Carlsberg