Для класса, который можно сохранить на постоянном носителе, я создаю интерфейс с именем IPersistable
, который предназначен для обеспечения persistenceId
.
public interface IPersistable
{
private readonly string persistenceId;
}
Конечно, я не могу сделать выше, так как интерфейсы не позволяют поля. Если бы это было так, я бы сделал ниже, чтобы выполнить это
Public Class Customer
{
private readonly string persistenceId;
Public string UserId
{
get{return persistenceId};
}
Public Customer(string customerId)
{
persistenceId = customerId;
}
}
Я уже наследую класс, поэтому невозможно сделать множественное наследование. Я мог бы использовать композицию, но интерфейс кажется правильным здесь. Покажите мне аккуратный взлом, чтобы сделать вышеупомянутое, вместо добавления свойства для каждого класса, которое необходимо сохранить.
Вопрос
Если возможно, может ли класс, который взаимодействует с IPersistable
, изменить имя свойства (если persistenceId является свойством) на что-то значимое?