Скажем, у меня есть код, который выглядит следующим образом:Как я могу получить доступ к полю анонимного типа, хранящегося в переменной объекта?
public struct Foo
{
public object obj;
public Foo(int val)
{
obj = new {
bar = val
};
Console.WriteLine(obj.bar); // Can't access bar.
}
}
Обычно я вижу анонимные типы хранимых в неявно типизированных переменных и их поля могут быть доступны только штраф в этом случае. Но я не могу неявно вводить var в этом случае, потому что obj
- это поле в структуре и, по-видимому, не может быть инициализировано. Итак, как мне получить доступ к полю bar
?
Когда структура получила конструктор по умолчанию? LOL – ViVi
Что это значит? Вы говорите, что он не должен компилироваться, не предоставляя структуре явно определенный конструктор без параметров? Потому что он компилируется без него. –