新的 System.Linq.Queryable 方法多載
System.Linq.Queryable 已新增其他公用方法多載,這是 https://github.com/dotnet/runtime/pull/47231 內實作新功能的一部份。 如果您的反映程式碼在查詢方法時不夠強固,則這些新增項目會中斷您的查詢提供者實作。
變更描述
在 .NET 6 中,受影響的 API一節列出的方法中新增了新的多載。 反映程式碼 (例如下列範例所示者) 可能會因這些新增項目而中斷:
typeof(System.Linq.Queryable)
.GetMethods(BindingFlags.Public | BindingFlags.Static)
.Where(m => m.Name == "ElementAt")
.Single();
這項反映程式碼現在會擲回 InvalidOperationException 並附帶類似以下的訊息:序列包含一個以上的元素。
導入的版本
.NET 6
變更原因
新增多載是為了擴充 LINQ Queryable
API。
建議的動作
如果您是查詢-提供者程式庫建立者,請確認您的反映程式碼可容忍新增的方法多載。 例如,使用明確接受方法參數型別的 Type.GetMethod 多載。
受影響的 API
新的多載已新增至下列 Queryable 擴充方法:
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應