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

  • Caroline Martin

    Caroline Mar

    19 EYLÜL 2008
  • Rockstar Games

    Rockstar Gam

    17 ŞUBAT 2006
  • superflyy88

    superflyy88

    8 ŞUBAT 2009