skydrive System.Dynamic.DynamicObject

前端 未结 2 971
予麋鹿
予麋鹿 2021-01-21 09:20

I\'m trying to get a listing of all the folders for a signed in user on SkyDrive.

LiveOperationResult operationResult = await client.GetAsync(\"me/skydrive/file         


        
相关标签:
2条回答
  • 2021-01-21 09:51

    I think that you receive this because you have declared result using the following code

    dynamic result = operationResult.Result;
    

    this will declare result as a new System.Dynamic.DynamicObject so that, when we say

    Dictionary<string, object> folderData = (Dictionary<string, object>)result;
    

    You are trying to convert result of type System.Dynamic.DynamicObject to System.Collections.Generic.Dictionary which is not possible and that's why you receive the error.

    Thanks,
    I hope you find this helpful :)

    0 讨论(0)
  • 2021-01-21 10:13

    The problem is that LiveOperationResult.Result isn't necessarily guaranteed to be a Dictionary<string, object>. It is however defined as an IDictionary<string, object>.

    Mind you, you don't appear to even need to cast the Result property to a dictionary of any sort; you should be able to use the dynamic variable to directly access the list you want to iterate.

    List<object> folders = (List<object>)result.data;
    
    0 讨论(0)
提交回复
热议问题