Фиктивные свойства объектов через Reflection в .NET
Задача: В приложении любые сущности описываются одним классом. BEntity.
public class BEntity : BindingList, ITypedList
Свойства сущностей описаны в экземплярах BEntityField
Что требуется: получить возможность DataBinding`а BEntityCollection
на DataGrid.
В чем проблема: Когда коллекция объектов посредством BindingList`а рассматривается
как источник данных в качестве полей используются свойства объектов.
В нашем случае свойства необходимо брать из принадлежащей объекту коллекции.
Метод решения: подставить в runtime через reflection вместо настоящих свойств
объекта "фиктивные" свойства, ведущие к экземплярам BEntityField.
Т.е. каждый BEntityField в объекте BEntity будет рассматриваться как
property с именем и значением.
Что делаем