Ho urlato per aver tentato di utilizzare la parola domanda nel titolo, quindi questo è ciò che mi è venuto in mente. Ad ogni modo, questa è una domanda puramente accademica sui tipi di parametri.Un tipo di parametro rovinato my Func <shui>
OK, ecco quello che ottengo.
using System;
namespace TypeParamTest
{
internal class Program
{
private static void Main(string[] args)
{
PrintType(1, new object());
Console.ReadKey();
}
static void PrintType<T, Ttwo>(T first, Ttwo second)
{
Console.WriteLine(typeof(T) + " : " + typeof(Ttwo));
}
}
}
Questo è chiaro e inequivocabile a me (i lettori più attenti riconosceranno questo come una semplice estensione di un esempio si trova a pagina 249 del C# in Depth). Ricevo totalmente ciò che sta accadendo, il compilatore dice che c'è un tipo (da definire per T
e poi per Ttwo
). Quello che non capisco è perché a pagina 65 l'esempio ha solo un parametro di tipo.
List<TOutput> ConvertAll<TOutput>(Converter<T, TOutput> conv);
Come fa il compilatore conosce T
in questo caso?
Sto pensando che il metodo sia contenuto all'interno di una classe generica che definisce T. – ChaosPandion
+1 Buona domanda, titolo solido. – MPelletier