Я использую Entity Framework и создал интерфейс для транзакций аренды:
public interface ILeaseTransaction
{
int ID { get; }
DateTime Date { get; }
decimal Amount { get; }
}
Затем для реализации интерфейса на объекте сущности я создал пустой частичный класс:
public partial class Type1LeaseTransaction : ILeaseTransaction
{
}
Это работает нормально, однако транзакции также могут иметь ноль или одну пустоту, которые также являются объектами сущностей. Я попытался реализовать пустоты следующим образом:
public interface ILeaseTransactionVoid
{
int TransactionID { get; }
DateTime Date { get; }
int TypeID { get; }
}
И пустой частичный класс ...:
public partial class Type1LeaseTransactionVoid : ILeaseTransactionVoid
{
}
Проблема, с которой я сталкиваюсь, заключается в том, что я пытаюсь добавить ILeaseTransactionVoid
как свойство к интерфейсу LeaseTransaction
:
public interface ILeaseTransaction
{
int ID { get; }
DateTime Date { get; }
decimal Amount { get; }
ILeaseTransactionVoid Void { get; } // This throws an error
}
При попытке собрать я получаю следующую ошибку:
DomainModel.Models.Type1LeaseTransaction не реализует элемент интерфейса DomainModel.Abstract.ILeaseTransaction.Void.
DomainModel.Models.Type1LeaseTransaction.Void не может реализовать DomainModel.Abstract.ILeaseTransaction.Void.
потому что у него нет соответствующего возвращаемого типа 'DomainModel.Abstract.ILeaseTransactionVoid'.
Полагаю, ошибка имеет смысл, поскольку тип возвращаемого значения не является самим интерфейсом, даже если он реализует интерфейс. Я новичок во всем этом, поэтому я полностью потерян в этот момент.
Можно ли как-нибудь реализовать свойство вложенного интерфейса ILeaseTransactionVoid
в ILeaseTransaction
?
Спасибо!