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

  • bombjack2991

    bombjack2991

    29 HAZİRAN 2008
  • ExcelTutorials

    ExcelTutoria

    2 Mayıs 2009
  • paulandstorm

    paulandstorm

    4 EYLÜL 2006