Перечислите свойства ExpandoObject во время выполнения, нажав «точку» в Visual Studio - PullRequest
0 голосов
/ 29 августа 2018

В нашем проекте .NET Core у нас есть ссылки на сервисы для SOAP API. Но поскольку у нас их много, мы реализовали универсальный метод, который вызывает метод в SoapClient, так что мы можем просто вызвать:

var response = await _service.CallMethod<ClientResponse>(request, "SaveClientAsync");

Однако в этом случае мы должны знать имя метода (здесь это «SaveClientAsync»), в то время как лучше иметь что-то вроде client.SaveClientAsync, чтобы я писал «client», а затем нажимал «.» и список свойств отображается в раскрывающемся меню VS, что позволяет мне выбрать имя метода и передать его дальше.

Сначала я подумал о enum, но мне придется его поддерживать, что не является опцией, но потом я наткнулся на ExpandoObject, чтобы я мог создать динамический объект со всеми именами методов в качестве свойств.

Теперь мне нужно расширить список свойств объекта, нажав «.» в Visual Studio.

Есть идеи?

...