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

  • OnlyFunClips

    OnlyFunClips

    16 ŞUBAT 2012
  • sebsebdouze

    sebsebdouze

    7 ŞUBAT 2008
  • Sarah's YouTube Channel

    Sarah's YouT

    27 Temmuz 2009