Compilerfehler CS0308
Der nicht generische „Bezeichner“ für Typ oder Methode kann nicht mit Typargumenten verwendet werden.
Die Methode oder der Typ ist nicht generisch, aber wurde mit Typargumenten verwendet. Entfernen Sie die spitzen Klammern und Typargumente, oder deklarieren Sie die Methode oder den Typ als generische Methode oder generischen Typ neu, um diesen Fehler zu vermeiden.
Im folgenden Beispiel wird CS0308 generiert:
// CS0308a.cs
class MyClass
{
public void F() {}
public static void Main()
{
F<int>(); // CS0308 – F is not generic.
// Try this instead:
// F();
}
}
Im folgenden Beispiel wird auch CS0308 generiert. Verwenden Sie zum Beheben des Fehlers die Direktive „using System.Collections.Generic“.
// CS0308b.cs
// compile with: /t:library
using System.Collections;
// To resolve, uncomment the following line:
// using System.Collections.Generic;
public class MyStack<T>
{
// Store the elements of the stack:
private T[] items = new T[100];
private int stack_counter = 0;
// Define the iterator block:
public IEnumerator<T> GetEnumerator() // CS0308
{
for (int i = stack_counter - 1 ; i >= 0; i--)
yield return items[i];
}
}
Zusammenarbeit auf GitHub
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.