Тип параметра испортил мой Func

На меня кричали за попытку использовать слово «вопрос» в названии, так что это то, что я придумал. В любом случае, это чисто академический вопрос о типах параметров.

Хорошо, вот что я получил.

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 в этом случае?

8
задан Jason Down 17 January 2012 в 01:48
поделиться