У меня есть класс, который имеет несколько методов, которые следуют приведенному ниже шаблону:
public void GetSomeData1(DataParameters[] parameters, Action responseHandler)
{
_getSomeData1ResponseHandler = responseHandler;
Transactions.GetSomeData1(SomeData1ResponseHandler, parameters);
}
private void SomeData1ResponseHandler(Response response)
{
if (response != null)
{
CreateSomeData1(response.Data);
}
}
public void CreateSomeData1(Data data)
{
//Create the objects and then invoke the Action
...
if(_getSomeData1ResponseHandler != null)
{
_getSomeData1ResponseHandler();
}
}
Итак, некоторый внешний класс вызывает GetSomeData1 и передает действие, которое следует вызывать, когда данные доступны. GetSomeData1 сохраняет ответное действие и вызывает Transactions.GetSomeData1 (асинхронный вызов). После завершения этого асинхронного вызова создаются данные и вызывается оригинал, переданный в Action.
Дело в том, что для каждого отдельного вызова GetSomeData мне нужно сохранять переданное в действии, чтобы я мог ссылаться на него позже. Есть ли способ, которым я могу каким-то образом передать исходное действие в последний метод (CreateSomeData1), не сохраняя его?
Спасибо.