SORU
13 Ocak 2011, PERŞEMBE


Nasıl bir tip parametresiz bir oluşturucu sağlar Eğer kontrol edebilirim?

Eğer zamanında bilinen bir tür parametresiz bir oluşturucu sağlar olmadığını kontrol etmek istiyorum. Type sınıfı hiç bir şey için söz vermediğini, yansıma kullanmak zorunda varsayıyorum?

CEVAP
13 Ocak 2011, PERŞEMBE


Type sınıfıyansıma. Yapabilirsiniz:

Type theType = myobject.GetType(); // if you have an instance
// or
Type theType = typeof(MyObject); // if you know the type

var constructor = theType.GetConstructor(Type.EmptyTypes);

Eğer parametresiz bir constructor yoksa null döndürür.


Eğer siz de özel kurucular bulmak istiyorsanız, biraz daha uzun kullanın:

var constructor = theType.GetConstructor(
  BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, 
  null, Type.EmptyTypes, null);

8* *hangi değer türleri için bir uyarı var. Eğer bir değer türü Type.IsValueType özelliğini kullanarak kontrol edin, ve örnekleri Activator.CreateInstance(Type); kullanarak oluşturabilirsiniz

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BlackBoxTV

    BlackBoxTV

    7 Mayıs 2007
  • LAHWF

    LAHWF

    5 Kasım 2009
  • REK Roth Productions

    REK Roth Pro

    8 Ocak 2011