Добавить свойство в класс POCO во время выполнения
Я выбралServiceStack OrmLite для моего проекта, который является чисто ориентированным на данные приложения. Я готов позволить конечному пользователю создавать свои собственные типы объектов, определенные в формате XML, которые будут использоваться для генерации классов во время выполнения с использованиемCodeDOM.
Я буду также определять некоторые "система» объекты, требуемые приложением (т.е.User
) но я не могу предвидеть все свойства, которые будет использовать конечный пользователь, и поэтому я ищу способ расширить классы, которые я создаю во время разработки. Образец ниже
public class User
{
public Guid Uid { get; set; }
public String Username { get; set; }
public String Password { get; set; }
}
Конечный пользователь хочет иметьEmail
иAddress
, Он должен иметь возможность добавить 2 свойства в верхний класс, и весь класс будет (который все еще может использоваться OrmLite, так как он позволяет перезаписывать:
public class User
{
public Guid Uid { get; set; }
public String Username { get; set; }
public String Password { get; set; }
public String Email{ get; set; }
public String Address { get; set; }
}
Я знаю, что это может привести к сбою системы (если класс уже создан), поэтому я ищу лучший способ избежать этой проблемы и подражать той необходимости, которая у меня есть.