dynamicc#-3.0facebook-c#-sdkweakly-typed

Accessing Facebook C# SDK result Object using .NET 3.5 API?


Consider the following in .NET 3.5 (using the Bin\Net35\Facebook*.dll assemblies):

using Facebook;

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

... in the absence of the C# 4.0 dynamic keyword this provides only generic object members.
How best should I access the facebook properties of this result object?

Are there helper or utility methods or stronger types in the facebook C# SDK, or should I use standard .NET reflection techniques?


Solution

  • This code sample shows 3.5 usage, without needing the C# dynamic keyword:

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