31 Mart 2009, Salı
Nasıl belirli bir arabirimi uygulayan tüm sınıflar bulmak için?
Verilen bir ad altında, bir arayüzü uygulayan sınıfların bir dizi var. Bakalım ISomething
Ara. ISomething
haberi olan başka bir sınıf (hadi CClass
çağrı) var ama uygulayan arayüz sınıfları hakkında hiçbir şey bilmiyor.
CClass
ISomething
, örneğini örneği tüm uygulama görünmek ister ve bu yöntemi uygulamak istiyorum.
Herkes C# 3.5 ile bunun nasıl yapılacağı hakkında bir fikri olan var mı?
Teşekkürler!
CEVAP
31 Mart 2009, Salı
Kod-örnek bir çalışma
var instances = from t in Assembly.GetExecutingAssembly().GetTypes()
where t.GetInterfaces().Contains(typeof(ISomething))
&& t.GetConstructor(Type.EmptyTypes) != null
select Activator.CreateInstance(t) as ISomething;
foreach (var instance in instances)
{
instance.Foo(); // where Foo is a method of ISomething
}
EditCreateınstance çağrısı başarısız olur, böylece katma parametresiz bir kurucu için bir kontrol edin.
Bunu Paylaş:
Bunları nasıl belirli sütun adları ile...
eğer bulmak için nasıl bir WordPress k...
Nasıl iki genel türleri ile bir arabir...
Nasıl belirli bir kullanıcı ne anlama ...
Nasıl Haftanın gününü bulmak için, bel...