Подтвердить что ты не робот

Объявление анонимного типа с простым именем

При попытке скомпилировать это:

var car = new { "toyota", 5000 };

Вы получите ошибку компилятора "Invalid anonymous type member declarator. Анонимные члены типа должны быть объявлены с назначением членов, простым именем или доступом к члену". потому что компилятор не может вывести имя свойств из соответствующих выражений. Это делает общий смысл.

Интересно, что сообщение об ошибке подразумевает три допустимых способа объявления члена типа. Назначение членов и доступ участников очевидны:

// member assignment
var v = new { Amount = 108, Message = "Hello" };

// member access
var productQuery = 
    from prod in products
    select new { prod.Color, prod.Price };

Какой пример объявления с простым именем?

Google и связанные с ним вопросы о SO приводят к примерам назначения членов и доступа к члену.

4b9b3361

Ответ 1

Насколько мне известно, объявление simple name таково:

var amount = 10;
var whatever = "hello";

var newType = { amount, whatever }

который автоматически создаст анонимный тип, равный:

var newType = { amount = amount, whatever = whatever }