扩展方法不能从派生类型列表访问



我正在为自己做一个小练习项目,我试图在我的测试中调用这个扩展方法

var days = account.Transactions.PassDays(10, Today);

给出了这个错误

CS1929    'List<Transaction>' does not contain a definition for 'PassDays' and the best extension method overload 'PassTime.PassDays(List<Event>, int, DateTime)' requires a receiver of type 'List<Event>'
using语句被突出显示,扩展方法被声明为
public static IEnumerable<Day> PassDays(this List<Event> events, int daysToPass, DateTime startTime)

我试图使用它的列表是从事件类派生的类。我所读到的一切都表明这应该是可行的。

public record Transaction : Event
public record Event : IEvent

using

public static IEnumerable<Day> PassDays(this IEnumerable<IEvent> events, int daysToPass, DateTime startTime)

固定。(IEvent不是必要的,但我做了改变,预期它更有用)也许有人可以解释为什么这工作。

相关内容

  • 没有找到相关文章

最新更新