C# трактовка dynamic

217
21 декабря 2018, 21:40

Существуют 4 перегруженных функции :

static void Foo(object x,object y)
{
    Console.WriteLine("object object");
}
static void Foo(object x,string y)
{
    Console.WriteLine("object string");
}
static void Foo(string x,object y)
{
    Console.WriteLine("string object");
}
static void Foo(string x,string y)
{
    Console.WriteLine("string string");
}

Метод Main():

static void Main(string[] args) 
    {
        object x = "X";
        dynamic y = "Y";
        Foo(x,y);
    }

Компилятор:

object string

Но почему? Если переменная y трактуется компилятором как object? Следовательно, должен быть вызван метод с сигнатурой параметров object,object

READ ALSO
Массив из 4-х байт

Массив из 4-х байт

Есть число int(32)Как его конвертировать в массив байтов с MSB first? Перечитал все что нашел о "GetByte", но у меня с этим методом почему-то число просто...

190
Xamarin (сборка на Андроид) ошибка компилятора

Xamarin (сборка на Андроид) ошибка компилятора

При сборке приложения компилятор кидает ошибку

258