Frage

Betrachten Sie die folgende in .NET 3.5 (mit dem Bin \ Net35 \ Facebook * .dll-Baugruppen):

using Facebook;

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

... in Abwesenheit des C # 4.0 dynamic keyword dies bietet nur allgemeine object Mitglieder.
Wie man am besten sollte ich Zugriff auf die Facebook Eigenschaften dieses Ergebnisobjekt?

Gibt es Helfer oder Hilfsmethoden oder stärkere Typen in der Facebook C # SDK, oder soll ich Standard .NET Reflexionstechniken verwenden?

War es hilfreich?

Lösung

Codebeispiel zeigt 3.5-Nutzung, ohne die C # dynamic zu benötigen Stichwort:

// 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"];

Andere Tipps

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;

Sie können auch eine Fassade Objekt um die IDictionary schaffen, wie erklärt hier .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top