注册参加<t>已完成的活动

时间:2015-09-05 11:24:03

标签: c# wcf reflection lambda action

我需要在一个安全的地方执行所有传出的WCF方法调用。 因此,我创建了一个获取Expression<Action<T>>参数的函数,然后执行指向的方法。

在这个方法中,我可以得到在方法调用之后立即执行的完整事件的名称。

我想注册这个事件(可能是通过反思)。 请注意,Complete事件的args可以是任何类型,因此我可能必须使用lambda表达式。 这是功能:

public void Invoke<T>(Expression<Action<T>> action) where T : class
{
    var method = (MethodCallExpression)action.Body;
    string methodName = method.Method.Name;

    Action<T> m = action.Compile();

    string eventName = methodName + "Completed";
    // Here I want to register to the eventName event.

    m.Invoke(obj);
}

0 个答案:

没有答案