SORU
10 HAZİRAN 2010, PERŞEMBE


İsAssignableFrom ve " kullanın;&; C " kelime#

Unity öğrenmeye çalışırken MVC GetControllerInstance geçersiz kılmak için aşağıdaki kodu görüyorum:

if(!typeof(IController).IsAssignableFrom(controllerType)) { ... }

bu benim için aslında yazı oldukça dolambaçlı bir yol gibi görünüyor

if(controllerType is IController) { ... }

is IsAssignableFrom dökme dönüşümlerini kapsamıyor yani IsAssignableFrom, arasında ince farklar var takdir ediyorum, ama pratik senaryolarda bu fark, ima anlamakta güçlük çekiyorum.

is IsAssignableFrom seçmek için imporantant? Ne fark GetControllerExample eder mi?

if (!typeof(IController).IsAssignableFrom(controllerType))
      throw new ArgumentException(...);
return _container.Resolve(controllerType) as IController;

CEVAP
10 HAZİRAN 2010, PERŞEMBE


Aynı şey değil.

if(controllerType is IController)

her zamancontrollerType Type IController ** 17, Her zaman ve bir bir yana false değerlendirir.

is operatör olup olmadığını kontrol etmek için kullanılırörnekbelirli bir türü için uyumludur.

İsAssignableFrom yöntem olup olmadığını bir kontrol etmek için kullanılırYazınbelirli bir türü ile uyumlu.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Anthony Le

    Anthony Le

    10 EKİM 2006
  • GirlSanctuaryBlog

    GirlSanctuar

    28 Aralık 2011
  • jedimasterkyle

    jedimasterky

    11 ŞUBAT 2006