SORU
21 EKİM 2008, Salı


Nasıl Yansıma Aşırı bir Yöntemi Çağırmak için kullanın .NET

Bir şekilde aşırı bir yöntem yansıma kullanarak Çağırmak için vardır .NET (2.0). Dinamik olarak ortak bir temel sınıf türetilmiş olan sınıfların başlattığı bir uygulama var. Uyumluluk amacıyla, bu temel sınıf aynı ada 2 yöntem parametreleri ile bir içerir. Üzerinden parametresiz yöntem Çağırmak aramam gerek. Şu anda, tek bir hata belirsiz bir yöntemi çağırmak için çalışıyorum söylüyor.

Evet, Ben Deolabilirsadece temel sınıf bir örneği olarak nesneyi fırlatmak ve ihtiyacım var bu yöntemi çağırın. Eninde sonunda buolur, ama şu anda, iç komplikasyonlar buna izin vermez.

Herhangi bir yardım iyi olurdu! Teşekkürler.

CEVAP
21 EKİM 2008, Salı


İstediğiniz belirtmeniz gerekir:

class SomeType 
{
    void Foo(int size, string bar) { }
    void Foo() { }
}

SomeType obj = new SomeType();
// call with int and string arguments
obj.GetType().GetMethod("Foo", new Type[] { typeof(int), typeof(string)).Invoke(obj, new object[] { 42, "Hello" });
// call without arguments
obj.GetType().GetMethod("Foo", new Type[0]).Invoke(obj, new object[0]);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • expertvillage

    expertvillag

    5 NİSAN 2006
  • Samantha Crain

    Samantha Cra

    30 EKİM 2008
  • videoisunrelated

    videoisunrel

    5 Mart 2009