![](/img/trans.png)
[英]To convert IEnumerable<dynamic> to IEnumerable<DataRow>
[英]Convert dynamic object to IEnumerable Issue
protected override IEnumerable<dynamic> GetData()
{
var request = new RestRequest();
var directoryResponse = client.ExecuteTaskAsync(request).Result;
dynamic directory = JsonConvert.DeserializeObject<MyDTO>(directoryResponse.Content);
cachedDirectory = directory;
}
return cachedDirectory;
问题就在网上
cachedDirectory = directory;
每当尝试将dynamic
对象转换为IEnumerable
类型。
异常消息:
无法将类型'MyDTO'隐式转换为'System.Collections.Generic.IEnumerable <object>'。 存在显式转换(您是否缺少演员表?)
我不必做任何假设。
以下代码给您错误。 我认为您需要枚举。
public class NewTest
{
IEnumerable<dynamic> cachedDirectory;
public IEnumerable<dynamic> GetData()
{
dynamic directory = JsonConvert.DeserializeObject<MyDTO>("{ 'Name' : 'Test' }");
cachedDirectory = directory;
return cachedDirectory;
}
}
public class MyDTO
{
public string Name { get; set; }
}
//这就是您的呼叫方式。 (此代码给出错误)
NewTest test = new NewTest();
IEnumerable<dynamic> result = test.GetData();
答案:如果使用上述方法,则可以执行以下操作。
public class NewTest
{
IEnumerable<dynamic> cachedDirectory;
public IEnumerable<dynamic> GetData()
{
var request = new RestRequest();
var directoryResponse = client.ExecuteTaskAsync(request).Result;
dynamic directory = JsonConvert.DeserializeObject<IEumerable<MyDTO>>(directoryResponse.Content);
return directory;
}
}
public class MyDTO
{
public string Name { get; set; }
}
//现在可以使用。
NewTest test = new NewTest();
IEnumerable<dynamic> result = test.GetData();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.