首页 > 解决方案 > 通过在 Visual Studio 中按“点”在运行时列出 ExpandoObject 属性

问题描述

在我们的 .NET Core 项目中,我们有 SOAP API 的服务引用。但是由于我们有很多,我们实现了一个通用方法,它调用 SoapClient 中的方法,这样我们就可以调用:

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

但是,在这种情况下,我们必须知道方法的名称(这里是“SaveClientAsync”),而最好有类似 client.SaveClientAsync 这样我写“client”,然后按“。” 属性列表显示在 VS 的下拉菜单中,允许我选择方法的名称并进一步传递它。

首先我想到了枚举,但我必须支持它,这不是一个选项,但后来我遇到了 ExpandoObject,所以我可以创建一个动态对象,将所有方法名称作为属性。

我现在需要的是通过按“。”来扩展对象的属性列表。在 Visual Studio 中。

有任何想法吗?

标签: c#visual-studiodynamicexpandoobjectdynamicobject

解决方案


推荐阅读