簡體   English   中英

是否可以動態創建此linq語句?

[英]Is it possible to create this linq statement dynamically?

我正在創建一個規則驗證類-沒什么花哨的。

我想設置如下屬性:

public int MaxLoanAmount { get; set; }

數據將像這樣被驗證。 _app表示通過構造函數注入的數據。

bool MaxLoanAmountValid
{
   get { return _app.LoanAmount >= MaxLoanAmount; }
}

我可以構造一些if邏輯來測試是否設置了我的每個屬性,驗證它們並返回結果,但是我想嘗試做些聰明的事情。

我想知道是否可以構建一個動態表達式,所以當設置了MaxLoanAmount時,我添加了“ MaxLoanAmountValid”,諸如“ MaxLoanAmountValid AND MinLoanAmountValid”等。

提前致謝。

是的,您可以使用.NET API或幾種免費的工具之一來動態構建Linq表達式樹,從而使工作更加輕松。 有些人可以將字符串解析為表達式,因此您所要做的就是構建字符串。 看到答案中的鏈接幾乎是一個相同的問題: 動態生成Linq Lambda表達式

如果您想變得更加“聰明”,則可以使用Reflection這樣的MethodBase.GetCurrentMethod().Name動態地在其Set方法中獲取當前屬性MethodBase.GetCurrentMethod().Name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM