Позвольте мне начать с того, что я довольно новичок в использовании интерфейсов.
Я пишу метод (GetClaimDetails), который будет возвращать информацию о заявке на медицинское страхование. Если это тип заявки A, он вернет список класса ClaimDetailA. Если заявка типа B, вернуть список класса ClaimDetailB. Оба эти класса имеют общие свойства, но каждый имеет уникальные свойства. Общие свойства реализованы в интерфейсе.
Я извлек интерфейс с именем IClaimDetail и настроил оба для его реализации. Когда я устанавливаю метод для возврата IClaimDetail и возвращаю экземпляр объекта, который реализует IClaimsDetail, я получаю сообщение компилятора
'Не удалось неявно преобразовать тип' System.Collections.Generic.List DentalClaimDetail 'в' System.Collections.Generic.List IClaimDetail '
private static List<IClaimDetail> GetClaimDetailsB(string claimNumber, string connectionStringName)
{
var claimReportRows = new List<DentalClaimDetail>();
..removed for brevity
return claimReportRows;
}
public class DentalClaimDetail : IClaimDetail
{
...
}
Когда метод возвращает интерфейс, вы просто возвращаете объект, реализующий интерфейс. Правильный? Что я делаю не так?