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

  • edwin maldonado

    edwin maldon

    28 Mart 2009
  • Feel The Electricity!

    Feel The Ele

    20 ŞUBAT 2010
  • EmmightySofia

    EmmightySofi

    25 EYLÜL 2011