Facendo seguito al mio primo post, ho provato a ritestare la situazione avendo installato la Beta 2 del .Net Framework 2.0. Il compilatore C# continua a non segnalare errore nella seguente situazione:
using System;
class C<T>
{
public void M(T x) { }
public void M(int x) { }
}
public class Overload
{
public static void Main()
{
C<int> obj = new C<int>();
}
}
Chiaramente c'è una ambiguità su quale metodo chiamare e quindi il compilatore, come indicato da specifiche, dovrebbe segnalare errore, cosa che invece non fa.