Работа с анонимным типом

Работа с анонимным типом данных (anonymous type) в C#.

Изменение значения поля

var obj = new { myField = "old value" };

var myFieldInfo = obj
    .GetType()
    .GetFields(BindingFlags.NonPublic | BindingFlags.Instance)
    .FirstOrDefault(p=>p.Name == "<myField>i__Field");
myFieldInfo.SetValue(obj, "new value");

Следует обратить внимание на параметры поиска поля (BindingFlags.NonPublic | BindingFlags.Instance) и на имя, по которому ищется поле (<myField>i__Field).

Данный способ работает также, если значение анонимного типа передано в метод в параметр типа object.

About the author

Добавить комментарий

Сказать спасибо

Способ платежа:

Подписаться на обновления

Укажите свой e-mail чтобы получать уведомления о новых статьях.

Присоединиться к еще 1 подписчику