Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何到达';我';Facebook c#SDK中的Json与WP7和silverlight_C#_Silverlight_Facebook_Windows Phone 7_Facebook C# Sdk - Fatal编程技术网

如何到达';我';Facebook c#SDK中的Json与WP7和silverlight

如何到达';我';Facebook c#SDK中的Json与WP7和silverlight,c#,silverlight,facebook,windows-phone-7,facebook-c#-sdk,C#,Silverlight,Facebook,Windows Phone 7,Facebook C# Sdk,我是Facebook C#SDK的新手,我正在尝试为windows phone 7做一些事情,但功能仅限于silverlight,因为“silverlight应该只有异步调用”,我真的在尝试这样做: // Using IDictionary<string, object> (.Net 3.5, .Net 4.0, WP7) var client = new FacebookClient(); var me = (IDicationary<string,object>)cl

我是Facebook C#SDK的新手,我正在尝试为windows phone 7做一些事情,但功能仅限于silverlight,因为“silverlight应该只有异步调用”,我真的在尝试这样做:

// Using IDictionary<string, object> (.Net 3.5, .Net 4.0, WP7)
var client = new FacebookClient();
var me = (IDicationary<string,object>)client.Get("me");
string firstName = (string)me["first_name"];
string lastName = (string)me["last_name"];
string email = (string)me["email"];
//使用IDictionary(.Net 3.5、.Net 4.0、WP7)
var client=new FacebookClient();
var me=(idicational)client.Get(“我”);
string firstName=(string)me[“first_name”];
string lastName=(string)me[“last_name”];
字符串email=(字符串)me[“email”];
例如:

但是我不能使用get方法。。。 我会更好地解释我自己!,我想保存信息,有一个解决方案:

_fbClient.GetCompleted +=
    (o, e) =>
    {
        if (e.Error == null)
        {
            var result = (IDictionary<string, object>)e.GetResultData();
            Dispatcher.BeginInvoke(() => MyData.ItemsSource = result);

        }
        else
        {
            MessageBox.Show(e.Error.Message);
        }
    };
_fbClient.GetAsync("/me");
\u fbClient.GetCompleted+=
(o,e)=>
{
如果(e.Error==null)
{
var result=(IDictionary)e.GetResultData();
Dispatcher.BeginInvoke(()=>MyData.ItemsSource=result);
}
其他的
{
MessageBox.Show(例如Error.Message);
}
};
_fbClient.GetAsync(“/me”);
问题是无法访问MyData.ItemsSource,我需要访问每个字段或自行请求每个字段。。。有什么想法吗

这家伙可能有一些方向:

直接从Silverlight样本:

    fb.GetCompleted +=
    (o, e) =>
    {
        if (e.Error == null)
        {
            var result = (IDictionary<string, object>)e.GetResultData();
            Dispatcher.BeginInvoke(() => InfoBox.ItemsSource = result);
        }
        else
        {
            // TODO: Need to let the user know there was an error
        }
    };

    fb.GetAsync("/me");
fb.GetCompleted+=
(o,e)=>
{
如果(e.Error==null)
{
var result=(IDictionary)e.GetResultData();
Dispatcher.BeginInvoke(()=>InfoBox.ItemsSource=result);
}
其他的
{
//TODO:需要让用户知道有错误
}
};
fb.GetAsync(“/me”);
var result=(IDictionary)e.GetResultData();
var fname=(字符串)结果[“first_name”];
var lname=(字符串)结果[“姓氏”];

如果是json对象,则将其强制转换为IDictionary;如果是数组,则将其强制转换为IList。如果string将其转换为string,如果number将其转换为double,依此类推。

但这并不能解决逐个字段的问题,如何到达每个字段?您应该能够通过result对象访问它们。试着用与原始示例中相同的方法进行操作。
var result = (IDictionary<string, object>)e.GetResultData();
var fname = (string)result["first_name"];
var lname = (string)result["last_name"];