Extension de la méthode doit être définie dans un non-générique statique de la classe
J'ai écrit le code suivant à savoir le manque de séquence, mais j'obtiens l'erreur comme je l'ai dit c'est mon code
public partial class Missing : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
List<int> daysOfMonth =
new List<int>() { 6, 2, 4, 1, 9, 7, 3, 10, 15, 19, 11, 18, 13, 22, 24, 20, 27, 31, 25, 28 };
Response.Write("List of days:");
foreach (var num in daysOfMonth)
{
Response.Write(num);
}
Response.Write("\n\nMissing days are: ");
//Calling the Extension Method in the List of type int
foreach (var number in daysOfMonth.FindMissing()){Response.Write(number);}
}
public static IEnumerable<int> FindMissing(this List<int> list)
{
//Sorting the list
list.Sort();
//First number of the list
var firstNumber = list.First();
//Last number of the list
var lastNumber = list.Last();
//Range that contains all numbers in the interval
//[ firstNumber, lastNumber ]
var range = Enumerable.Range(firstNumber, lastNumber - firstNumber);
//Getting the set difference
var missingNumbers = range.Except(list);
return missingNumbers;
}
}
J'obtiens l'erreur suivante Extension method must be defined in a non-generic static class
quelqu'un peut-il m'aider
Double Possible de les méthodes d'Extension doit être défini dans un non-générique statique de la classe
OriginalL'auteur Chaitanya | 2012-02-11
Vous devez vous connecter pour publier un commentaire.
Que les états d'erreur, les méthodes d'extension ne peut être déclaré sur un non-générique statique de la classe. Vous essayez de déclarer la
FindMissing
méthode dans leMissing
classe, ce qui n'est pas un non-générique statique de la classe.Vous avez deux options:
Missing
classeMissingExtensions
, pour contenir la méthodeC'est ce que la deuxième option serait:
Extension method must be defined in a top level static class; MissingExtensions is a nested class
Vous n'avez pas l'écrire comme il l'a dit; il n'a rien dit à propos de nidification à l'intérieur que l'extérieur de la classe.
OriginalL'auteur Bryan Watts
C'est ce que vous avez à écrire comme par
Bryan watts
réponseOriginalL'auteur Dorababu Meka