Dodaj właściwość do klasy POCO w czasie wykonywania

WybrałemServiceStack OrmLite dla mojego projektu, który jest czystą aplikacją zorientowaną na dane. Jestem gotów pozwolić użytkownikowi końcowemu na stworzenie własnych typów obiektów zdefiniowanych w formacie XML, który będzie używany do generowania klas w czasie wykonywania przy użyciuCodeDOM.

Będę również definiować niektóre obiekty „systemowe” wymagane przez aplikację (tj.User) ale nie mogę przewidzieć wszystkich właściwości, których użyje użytkownik końcowy, dlatego szukam sposobu, aby umożliwić rozszerzenie klas, które tworzę w czasie projektowania. Przykład poniżej

public class User
{
    public Guid Uid { get; set; }
    public String Username { get; set; }
    public String Password { get; set; }
}

Użytkownik końcowy chce miećEmail i anAddress. Powinien być w stanie dodać 2 właściwości do wyższej klasy i cała klasa będzie (która nadal może być używana przez OrmLite, ponieważ pozwala na nadpisanie:

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; }
}

Wiem, że może to spowodować ryzyko awarii systemu (jeśli klasa jest już utworzona), więc szukam najlepszego sposobu na uniknięcie tego problemu i naśladowanie potrzeby.

questionAnswers(4)

yourAnswerToTheQuestion