2011-01-12 72 views
2

考虑以下.NET 3.5中(使用bin \ Net35 \ Facebook的* .DLL组件):使用.NET 3.5 API访问Facebook C#SDK结果对象?

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反射技术?

+0

类似的问题 - http://stackoverflow.com/questions/4674669/facebook-c-sdk-net-3-5-dynamic-objects – 2011-01-14 20:47:59

回答

5

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"]; 
+0

为别人谁只是复制了,不知道为什么它不't编译,正确的拼写是'IDictionary':o) – Marc 2013-06-20 16:41:45

-1

您还可以创建围绕IDictionary的一个门面对象,解释here

0
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; 
这里