Извлечение аргументов метода действия в c# - PullRequest
0 голосов
/ 18 июня 2020

У меня есть следующая лямбда:

public object Execute(Action<IMessage<object>> method)
{

}

obj.Execute(x => someObject.RunSomething(new SomeMessage{a = "b"}));

SomeMessage реализует IMessage<T>

Я хотел бы внутри Execute получить параметры, отправленные на RunSomething ...
Я ищу что-то вроде method.Target as IMessage<object> или method.Target as SomeMessage

Как этого можно достичь?

Спасибо

1 Ответ

1 голос
/ 18 июня 2020

Не уверен, чего вы хотите достичь, но разве не логичнее c иметь что-то подобное?

public object Execute(Action<IMessage<object>> method, IMessage<object> parameter)
{
   method(parameter);
}

obj.Execute(someObject.RunSomething, new SomeMessage{a= "b"});

В этом случае вы получите параметр, который передадите функции. Так что вы можете делать с ним все, что хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...