-1
Func func = a => a.Id;Want Func值
我想從func獲取Id。不是Id的值。
func.invoke()給我的Id值。
根據建議的評論,我試過這個。 但我在GetMemberInfo方法中將成員設爲null。 我想要這種方法。即。我想在字典中存儲func。然後從字典中獲得該功能並獲得Id的名稱。
public static MemberInfo GetMemberInfo<T, U>(Expression<Func<T, U>> expression)
{
var member = expression.Body as MemberExpression;
if (member != null)
return member.Member;
throw new ArgumentException("Expression is not a member access", "expression");
}
static void Main(string[] args)
{
Dictionary<int, Func<Soure.Employee, int>> testDir = new Dictionary<int, Func<Soure.Employee, int>>();
testDir.Add(1, p => p.Id);
var testDirValue = testDir[1];
Expression<Func<Soure.Employee, int>> expr1 = mc => testDirValue(mc);
MemberInfo member = Program.GetMemberInfo(expr1);
Console.WriteLine(member.Name);
}
問題是什麼?你有特定的問題嗎?要求人們閱讀你的代碼以瞭解你所問的內容通常會導致追趕它們,特別是如果代碼太大,它不能適合在一個屏幕上 –
@ Panagiotis Kanavos:正如我已經寫道'我知道它的硬描述我想要的是。這就是爲什麼我給運行代碼請調試它。你可以得到我想要的。'那就是爲什麼我給出了運行代碼。這樣任何人都可以理解它。 –
@HemantMalpote ** Noone **將運行你的代碼來破譯你所問的內容。這看起來很簡單,「我無法從字典中獲得價值」,但讓我幫助你,請問一個具體問題。不要誤解我的意思......你提供了所有必要的代碼來複制你的問題是非常好的......我真的很感謝......我不明白你想解決的問題是什麼。 – Kevin