1
我們有一個List<SomeType>
,希望能夠對其執行不同的操作,例如選擇符合某些條件的元素。我們希望這些測試由用戶以文本形式提供,因此請查看C# Expression Evaluator。使用C#表達式評估器來過濾列表
它當然可以用於此目的,但我很努力判斷在使用LINQ時是否可以將csharpeval
代表用作lambda。我們希望將存儲的表達式應用於每個對象。
例如只需要"o.FirstName == "Tom"
和而不是存儲整個列表表達式,如list.Where(o => o.FirstName == 'Tom')
。
通過ScopeCompile
提供一次編譯表達式並針對不同輸入數據運行的方法,但我不確定它們是否與lambda方法兼容。誰能幫我嗎?
您是否已經直接調查過使用Roslyn? https://github.com/dotnet/roslyn/wiki/Scripting-API-Samples#expr – user9993
@ user9993否,雖然他們的示例「創建和構建C#腳本並多次執行」看起來非常相似。顯然我可以寫一個明確的循環,lambda主要是爲了風格:) –
http://stackoverflow.com/q/1707854/1271037,http://stackoverflow.com/q/821365/1271037 – dovid