На меня кричали за попытку использовать слово «вопрос» в названии, так что это то, что я придумал. В любом случае, это чисто академический вопрос о типах параметров.
Хорошо, вот что я получил.
using System;
namespace TypeParamTest
{
internal class Program
{
private static void Main(string[] args)
{
PrintType(1, new object());
Console.ReadKey();
}
static void PrintType(T first, Ttwo second)
{
Console.WriteLine(typeof(T) + " : " + typeof(Ttwo));
}
}
}
Для меня это ясно и недвусмысленно (внимательные читатели поймут, что это простое расширение примера, найденного на странице 249 в C # in Depth ). Я полностью понимаю, что происходит, компилятор говорит, что существует некоторый тип (должен быть определен для T
, а затем для Ttwo
). Я не понимаю, почему на странице 65 в примере есть только один параметр типа.
List ConvertAll(Converter conv);
Как компилятор узнает о T
в этом случае?