0
考慮下面的代碼..非stringly類型的反射
public static class Simulate
{
public static bool Boolean(bool b)
{
return b;
}
}
我想檢查,如果表達式使用這種靜電功能。我想避免stringly-typed思考,以便使代碼更易於重構,這就是爲什麼我要執行以下操作,類似於this。我嘗試下面的代碼:
protected virtual Expression VisitMethodCall(MethodCallExpression m)
{
if (m.Method == Simulate.Boolean)
但是,這並不工作,所以我嘗試這樣做:
Expression<Action> fb =() => Simulate.Boolean(true);
string booleanName = fb.Body.ToString();
if (m.Method.DeclaringType == typeof(Simulate))
{
if (m.Method.Name == booleanName)
但是,果然,上面的代碼返回布爾(真)。但是,有什麼辦法我只能得到布爾字符串?
非常快!非常感謝!兩分鐘後我會接受它(stackoverflow限制) – 2013-03-22 09:56:51