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

  • macpulenta

    macpulenta

    9 EYLÜL 2006
  • sk8ingis4me

    sk8ingis4me

    16 Mart 2006
  • SPBedition

    SPBedition

    24 HAZİRAN 2013