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

  • FamilyFeud

    FamilyFeud

    22 AĞUSTOS 2006
  • Matt Stokes

    Matt Stokes

    22 Ocak 2008
  • Rockstar Games

    Rockstar Gam

    17 ŞUBAT 2006