У меня есть ссылка на службу .NET, которую я хотел бы инкапсулировать в один повторно используемый класс.
I типичный вызов выглядит примерно так:
// instantiate the api and set credentials
ApiClient api = new ApiClient();
api.Credentials.UserName.UserName = "blah";
api.Credentials.UserName.Password = "blahblah";
// operation-specific search parameter object
SomethingSearch search = new SomethingSearch();
search.Key = "blah";
Result[] result = api.GetSomething(search);
api.Close();
Другие вызовы различаются как вызываемой операцией, так и объектом параметра поиска.
Дело в том, что я не знаю, как передать в класс как имя операции API (т.е. GetSomething(), так и объект поиска для конкретной операции (SomethingSearch).
Как я могу это сделать? Я не прошу, чтобы работа была сделана за меня, но я не знаю, с чего начать. Я считаю, что это как-то связано с Func<T> и делегатами, но я смущающе неопытен с ними.