İngilizce dilinde oku

Aracılığıyla paylaş


Derleyici Uyarısı (düzey 2) CS0280

'type', 'desen adı' desenini uygulamaz. 'yöntem adı' yanlış imzaya sahip.

C#, foreach ve using içindeki iki deyim, sırasıyla "collection" ve "resource" adlı önceden tanımlanmış desenleri kullanır. Bu uyarı, derleyici bir yöntemin yanlış imzası nedeniyle bu deyimlerden biriyle desenini eşleştiremediğinde oluşur. Örneğin, "koleksiyon" deseni parametre almayan ve döndüren adlı MoveNext bir booleanyöntem olmasını gerektirir. Kodunuz parametresi olan bir MoveNext yöntem içerebilir veya bir nesne döndürebilir.

"Kaynak" deseni ve using başka bir örnek sağlayın. "Kaynak" deseni yöntemini gerektirir Dispose ; aynı ada sahip bir özellik tanımlarsanız bu uyarıyı alırsınız.

Bu uyarıyı çözmek için, türünüzdeki yöntem imzalarının desendeki ilgili yöntemlerin imzalarıyla eşleştiğinden emin olun ve desenin gerektirdiği yöntemle aynı ada sahip özelliklere sahip olmadığından emin olun.

Örnek

Aşağıdaki örnek CS0280 oluşturur.

// CS0280.cs  
using System;  
using System.Collections;  
  
public class ValidBase: IEnumerable  
{  
   IEnumerator IEnumerable.GetEnumerator()  
   {  
      yield return 0;  
   }  
  
   internal IEnumerator GetEnumerator()  
   {  
      yield return 0;  
   }  
}  
  
class Derived : ValidBase  
{  
   // field, not method  
   new public int GetEnumerator;  
}  
  
public class Test  
{  
   public static void Main()  
   {  
      foreach (int i in new Derived()) {}   // CS0280  
   }  
}