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

  • Edge-CGI 3D Tutorials and more!

    Edge-CGI 3D

    11 HAZİRAN 2013
  • Joanna Okrajni

    Joanna Okraj

    4 EYLÜL 2010
  • MrRandomSong

    MrRandomSong

    29 Kasım 2009