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

  • echifitness

    echifitness

    9 Kasım 2008
  • glowpinkstah

    glowpinkstah

    16 Mayıs 2006
  • Google

    Google

    18 EYLÜL 2005