这里我有一个继承IDictionary
的接口,我想要的是获取该接口的返回类型
using System.Collections.Generic;
public interface IClientSettings : IDictionary<string, string>
{
}
if (result.StatusCode == HttpStatusCode.OK)
{
DashboardJsonConverter jsonConverter = new DashboardJsonConverter();
var keyValues = jsonConverter.DeserializeClientSettings(jsonData); //desrialize obj
result.Dispose();//dispose response
return (IClientSettings)keyValues;
}
public List<Dictionary<string, string>> DeserializeClientSettings(string json)
{
return JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(json);
}
答案 0 :(得分:0)
C#类型系统无法安全地将一种类型转换为另一种类型。
List<Dictionary<string, string>>
不了解IClientSettings
,因此您无法将该类型转换为它。您将需要创建确实实现该接口的具体类型,并创建一种从List<Dictionary<string, string>>
创建该类型的方法。您可以做的是创建一个“适配器”类型,该类型可以包装List<Dictionary<string, string>>
并通过任何方法调用传递给基础类型。