12 AĞUSTOS 2009, ÇARŞAMBA
Belirli bir Türü C Devralan bir derlemede tüm türlerini bulmak için nasıl#
Nasıl belirli başka bir türünden devralan tüm türleri bir koleksiyon alabilirim?
CEVAP
12 AĞUSTOS 2009, ÇARŞAMBA
Gibi bir şey
public IEnumerable<Type> FindDerivedTypes(Assembly assembly, Type baseType)
{
return assembly.GetTypes().Where(t => baseType.IsAssignableFrom(t));
}
Eğer jenerik işlemek gerekiyorsa, bu biraz yanıltıcıdır (örneğin açık List<>
yazın geçen ama List<int>
türetilen bir tür geri almak için bekliyor) alır. Aksi halde basit :)
Eğer türünü kendisi hariç tutmak istiyorsanız, bunu kolayca yapabilirsiniz:
public IEnumerable<Type> FindDerivedTypes(Assembly assembly, Type baseType)
{
return assembly.GetTypes().Where(t => t != baseType &&
baseType.IsAssignableFrom(t));
}
Bu aynı zamanda bir arabirim belirlemek ve uygulamak olan tüm türlerini bulmak, sadece Type.IsSubclassOf
gibi sınıflar ile çalışma yerine izin verir unutmayın.
Bunu Paylaş:
Bunları nasıl belirli sütun adları ile...
eğer bulmak için nasıl bir WordPress k...
Nasıl belirli bir kullanıcı ne anlama ...
Nasıl belirli bir türü (Düğme/Textbox)...
Nasıl Haftanın gününü bulmak için, bel...