Forge.NET API RuntimeBinderException

Forge.NET API RuntimeBinderException,.net,autodesk-forge,.net,Autodesk Forge,我正在使用Forge.NETAPI1.3.0 我正试图通过API获取集线器,就像在 我知道 我的身份验证有效 查询结果更正数据 但由于某些原因,以下行因RuntimeBinderException而失败: Hubs hubs = apiInstance.GetHubs(/*filterId, filterExtensionType*/); 异常消息显示: 引发异常:未知模块中的“Microsoft.CSharp.RuntimeBinder.RuntimeBinderException”。

我正在使用Forge.NETAPI1.3.0

我正试图通过API获取集线器,就像在

我知道

  • 我的身份验证有效
  • 查询结果更正数据
但由于某些原因,以下行因RuntimeBinderException而失败:

Hubs hubs = apiInstance.GetHubs(/*filterId, filterExtensionType*/);
异常消息显示:

引发异常:未知模块中的“Microsoft.CSharp.RuntimeBinder.RuntimeBinderException”。 其他信息:无法将类型“Autodesk.Forge.Model.DynamicJsonResponse”隐式转换为“Autodesk.Forge.Model.Hubs”


因此,很明显,示例显示的方法不再有效(?)。如何将生成的数据转换为集线器类型。

显示了如何列出集线器,您也可以下载,
DataManagementController
代码显示了它的工作状态。

好的,我使用原始数据使它工作。举个例子:

var hubs = await hubsApi.GetHubsAsync();
foreach (KeyValuePair<string, dynamic> hubInfo in new DynamicDictionaryItems(hubs.data))
{
  new { Id = hubInfo.Value.id, Name = hubInfo.Value.attributes.name }
}

}这件事也发生在我身上。 我使用Json反序列化器解决了这个问题

        string token = "a token";
        var apiInstance = new HubsApi();
        apiInstance.Configuration.AccessToken = token;

        // Get Hub
        dynamic hubsJson = apiInstance.GetHubs();
        Hubs allHubs = JsonConvert.DeserializeObject<Hubs>(hubsJson.ToString());
string token=“a token”;
var apinstance=new HubsApi();
apInstance.Configuration.AccessToken=令牌;
//获取中心
动态hubsJson=apinstance.GetHubs();
Hubs allHubs=JsonConvert.DeserializeObject(hubsJson.ToString());

现在json对象被转换为Forge Api Hubs类。

谢谢!我找到了一个例子,并让它发挥作用(我下面的例子)。尽管这并没有回答如何直接转换为
集线器
类型的问题。在本教程中,调用方正在手动执行解析。我认为,通过使用.NETForgeAPI中的
Hub
Hub
类型,应该避免这种情况。
        string token = "a token";
        var apiInstance = new HubsApi();
        apiInstance.Configuration.AccessToken = token;

        // Get Hub
        dynamic hubsJson = apiInstance.GetHubs();
        Hubs allHubs = JsonConvert.DeserializeObject<Hubs>(hubsJson.ToString());