Я должен сделать несколько предположений.
- Я предполагаю, что ваш объект cachedDirectory относится к типу IEnumerable. Если это так, то ясно, что он не может преобразовать объект MyDTO в IEnumerable во время выполнения, и он генерирует исключение.
Следующий код дает вам ошибку. Я полагаю, вам нужно перечислить.
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();