Zostałem krzyknięty za to, że próbowałem użyć słowa słowo w tytule, więc to właśnie wymyśliłem. W każdym razie jest to czysto akademickie pytanie o typy parametrów.Typ parametru zrujnował moje Func <shui>
OK, więc oto, co otrzymuję.
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));
}
}
}
To jest jasne i jednoznaczne dla mnie (Uważni czytelnicy mogą uznać to za proste rozszerzenie przykład znaleźć na stronie 249 C# in Depth). Całkowicie dostaję to, co się dzieje, kompilator mówi, że istnieje jakiś typ (który zostanie zdefiniowany dla T
, a następnie dla Ttwo
). Czego nie rozumiem, dlaczego na stronie 65 przykład ma tylko jeden parametr typu.
List<TOutput> ConvertAll<TOutput>(Converter<T, TOutput> conv);
W jaki sposób kompilator wie o numerze T
?
Myślę, że metoda jest zawarta w ogólnej klasie, która definiuje T. – ChaosPandion
+1 Dobre pytanie, solidny tytuł. – MPelletier