SORU
17 NİSAN 2010, CUMARTESİ


't ıenumerable yok Saymak bir yöntem var

Aşağıdaki yöntemi var:

public bool IsValid
{
  get { return (GetRuleViolations().Count() == 0); }
}

public IEnumerable<RuleViolation> GetRuleViolations(){
  //code here
}

Neden .Count() yukarıda yaptığım zaman altı çizili olduğunu kırmızı mı?

Aşağıdaki hatayı aldım:

Hata 1 'Sistemi.Koleksiyonları.Jenerik.Ienumerable' için bir tanım içermiyor 'Kont' ve hiç uzatma yöntemi 'Kont' kabul eden ilk bağımsız değişkeni yazın 'Sistem.Koleksiyonları.Jenerik.Ienumerable' bulunamadı (bir eksik olabilir mi yönergesini kullanarak veya bir derleme referans?) c:\users\a\documents\visual studio 2010\Projects\Yemek NerdDinner\NerdDinner\Modelleri\.cs 15 47 NerdDinner

CEVAP
17 NİSAN 2010, CUMARTESİ


Ekleyin:

using System.Linq;

kaynak ve Sistem için bir referans var emin olun.Çekirdek derleme.

Count() uzatma yöntemi Nesneleri bu SERİ, ve SQL ve işlem dışı diğer sağlayıcılar bu SERİ için System.Linq.Queryable System.Linq.Enumerable statik sınıfı tarafından sağlanır.

Aslında, burada Count() kullanarak nispeten verimsiz (en azından Nesneleri bu SERİ. EDİT: Öğrenmek istediğin şey olup olmadığıdırherhangi birelemanları ya da değil, değil mi? Bu durumda, Any() daha iyi bir uyum:

public bool IsValid
{
  get { return !GetRuleViolations().Any(); }
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chaoticmoogle

    Chaoticmoogl

    13 ŞUBAT 2006
  • jbignacio

    jbignacio

    13 Mart 2006
  • TheDamnWreckless

    TheDamnWreck

    12 Temmuz 2010