Pourquoi la méthode X
ci-dessous n'est-elle pas appelée ?!Pourquoi ma méthode C# n'est pas appelée?
static class Program
{
private static void Main()
{
X((IEnumerable<int>)null);
}
public static IEnumerable<T> X<T>(IEnumerable<T> e)
{
if (e == null)
throw new ArgumentNullException();
yield break;
}
}
J'ai essayé d'entrer dans le débogueur, mais il ne rentre pas X
! Est-ce que le mot-clé yield break
cause un effet secondaire dont je ne suis pas au courant?
Si cela vaut la peine, j'utilise Visual Studio 2008 Express avec .NET 3.5 SP1.
J'ai minimisé l'exemple pour ne contenir que X, en supprimant X2. –