【问题标题】:Accessing Facebook C# SDK result Object using .NET 3.5 API?使用 .NET 3.5 API 访问 Facebook C# SDK 结果对象?
【发布时间】:2011-06-08 04:52:44
【问题描述】:

在 .NET 3.5 中考虑以下内容(使用 Bin\Net35\Facebook*.dll 程序集):

using Facebook;

var app = new FacebookApp();
var result = app.Get("me");
// want to access result properties with no dynamic

...在没有 C# 4.0 dynamic 关键字的情况下,这仅提供通用 object 成员。
我应该如何最好地访问此结果对象的 facebook 属性?

facebook C# SDK 中是否有辅助或实用方法或更强大的类型,或者我应该使用标准的 .NET 反射技术吗?

【问题讨论】:

标签: dynamic c#-3.0 facebook-c#-sdk weakly-typed


【解决方案1】:

这个code sample 显示3.5 的用法,不需要C# dynamic 关键字:

// Using IDictionary<string, object> (.Net 3.5)
var client = new FacebookClient();
var me = (IDictionary<string,object>)client.Get("me");
string firstName = (string)me["first_name"];
string lastName = (string)me["last_name"];
string email = (string)me["email"];

【讨论】:

  • 对于其他刚刚复制并想知道为什么它不能编译的人,正确的拼写是'IDictionary' :o)
【解决方案2】:
var accesstoken = Session["AccessToken"].ToString();
var client = new FacebookClient(accesstoken);
dynamic result = client.Get("me", new { fields = "name,id,email" });
Details details = new Details();
details.Id = result.id;
details.Name = result.name;
details.Email = result.email;

【讨论】:

    【解决方案3】:

    您还可以在 IDictionary 周围创建外观对象,如 here 所述。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多