The question is, would anyone be interested in using code that looks like this? Just like this and does what it says it will do?

Before I go any farther in extending Soapi.CS and Soapi.JS, I need to know if there is interest. Otherwise I will spend my time writing some apps.

I am actively begging for constructive or informative feedback, positive *or* negative. Please. Sometimes it feels like I am writing in the wilderness. ;-(



    // what you see is what you would get. Imagine similar in JavaScript
    // while it looks like LINQ, it is not quite. I am simply planning to 
    // use dynamic proxies (ala NHibernate) to lazy load from the API.

    ApiContext.Initialize(key);

    // initialize simply fetches all sites and prepares them with
    // the necessary data and functionality to serve as the root for
    // all queries for that site. 

    // initialization is done on a static method and happens only once
    // for each appDomain. (appdomain is a scope of execution, 
    // an application for example, NOT a web domain)
    
    ApiContext ctx = new ApiContext();
    
    User codePoet = ctx.Sites("api.stackapps.com").User(14);
    
    foreach(Question q in codePoet.Questions())
    {
      Console.WriteLine(q.Title);
      foreach(Answer a in q.Answers())
      {
        Console.WriteLine(a.Owner.DisplayName + " " + a.Owner.Reputation));
      }
    }
    
    // so you noticed the lazy loading in the  expressions above - this is where it
    // gets more interesting....

    
    IEnumerable<Question> codePoetsQuestionsOnStackOverflow 
       = codePoet.UserAssociation.Users
       .First(u=>u.Site.SiteId=="api.stackoverflow.com").Questions();

    // what you see is a navigation from my stackapps User up into
    // it's UserAssociation object (stackauth /users/{id}/associated), 
    // finds the user who's site is stackoverflow and then returns all
    //  of my stackoverflow questions. 



    // Again, there are no strings - this code will run and give you exactly 
    // what it says it will.