Cześć mam pytanie, może ktoś ma odpowiedź.
Otóż mam generyczny typ abstrakcyjny ValueObject.
public abstract class ValueObject<TValue>
{
public TValue Value { get; protected set; }
public ValueObject(TValue value, IValueObject<TValue> ValidationInterface)
{
value = ValidationInterface.Format(value);
ValidationInterface.Validate(value);
Value = value;
}
public override string ToString()
{
return Value.ToString();
}
Oraz mam jakiś agregat, który posiada obiekty które dziedziczą po ValueObject.
Dostanie się do wartości VO staje się lekko upierdliwe bo dla każdego wygląda to następująco:
int x = agregat.id.value;
string y = agregat.name.value;
string z = agregat.email.value;
Moje pytanie brzmi, czy istnieje sposób na to aby nadpisać podstawowy getter dla takiej klasy aby móc dostawać się do wartości w następujący sposób:
int x = agregat.id;
string y = agregat.name;
string z = agregat.email;
chodzi o to aby kiedy ktoś użyje na instancji obiektu VO metody get to ma zostać zwrócona wartość Value i aby napisać to tylko raz. Ustawianie dla każdej instancji tej klasy getterow i setterow zaśmieciło by kod, bo Agregaty składają się praktycznie z samych VO.