我今天有一個靜態函數,我通過房產表達,我從它創建一個字符串:傳遞蘭巴表達式列表訪問屬性
public static string SomeFunction<TModel, TProperty>(TModel model, Expression<Func<TModel, TProperty>> expression){...}
我想改變它來處理列表這樣的表達式:
static string SomeFunctionForList<TModel, TProperty>(TModel model, List<Expression<Func<TModel, TProperty>>> expressions){...}
在第二種情況下,我會循環表達式並執行我在其上執行的任何邏輯。
這就是我現在如何調用該函數:
SomeFunction(this, m => m.nameOfProperty)
我如何調用該函數,定義表達式的一個列表?我想這一點,但它不工作:
SomeFunctionForList(this,
new List<Expression<Func<TModel, TProperty>>> {
{ m => m.nameOfProperty1},
{ m => m.nameOfProperty2}
});
我收到的TModel和TProperty無法找到一個編譯器錯誤。清楚的是,這在另一個文件中被調用。
我不知道,但我的意思是「TModel的」和「TProperty」不是類型。它們是通用參數。你必須用任何模型類型替換「TModel」,用任何屬性類型替換「TProperty」。 –
您遇到的問題是每個產權的「TProperty」都會有所不同? – DavidG
耶 - 基本上,我想發送一個模型和一個lamba表達式列表,並讓該方法發揮其魔力 – Corez