我正在為自己做一個小練習專案,我試圖在我的測驗中呼叫這個擴展方法
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)
我試圖使用它的 List 是一個派生自 Event 類的類。我讀過的所有內容都表明這應該有效。
public record Transaction : Event
public record Event : IEvent
uj5u.com熱心網友回復:
使用
public static IEnumerable<Day> PassDays(this IEnumerable<IEvent> events, int daysToPass, DateTime startTime)
修復了這個。(IEvent這不是必需的,但我做出了改變,因為它更有用)也許其他人可以解釋為什么這樣做有效。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/314638.html
