Skip to main content
4 of 7
added 36 characters in body
bevacqua
  • 213
  • 1
  • 8

BridgeStack — .NET client library with full 2.0 support

BridgeStack #BridgeStack

This is a StackExchange API v2.0 consumer library written under C#. It is heavily documented and designed to make it as easy as humanly possible to interact with the API.

##Example Usage

To get the name of each silver badge you've been awarded on Stack Overflow:

var client = new StackClientFactory().Create(_appKey, _token);
client.Default.Site = NetworkSiteEnum.StackOverflow;
var parameters = new BadgesOnUserQuery
{
    Sort = QuerySortEnum.BadgeRank,
    Min = BadgeRankEnum.Silver,
    Max = BadgeRankEnum.Silver
};
var badges = client.GetMyBadges(parameters);

foreach (var badge in badges.Unsafe)
{
    Console.WriteLine(badge.Name);
}

##Line by Line Explanation:

var client = new StackClientFactory().Create(_appKey, _token);

A StackClient instance is created, passing in your application's key and the user's access token.

client.Default.Site = NetworkSiteEnum.StackOverflow;

A default is set so that all requests made through this client which require a target site use Stack Overflow

var parameters = new BadgesOnUserQuery
{
    Sort = QuerySortEnum.BadgeRank,
    Min = BadgeRankEnum.Silver,
    Max = BadgeRankEnum.Silver
};

A query parameter object is created, using the Rank sort on badges, and setting the range to only Silver badges.

var badges = client.GetMyBadges(parameters);

The API is accessed, and the user badges are received from StackExchange.

foreach (var badge in badges.Unsafe)
{
    Console.WriteLine(badge.Name);
}

The badges are then iterated, and their names are output to the console. Note that Unsafe only means that if a problem arises, Unsafe can throw an Exception. If we were using Safe, it would just have been null. This has to do with coding style, mostly.

##About

You can read the wiki documentation on GitHub here.

I created BridgeStack as a way to give back to the StackOverflow community, which has helped me out and taught me on countless ocassions.
At all times I attempted to mantain the same philosophy in writting this library. I documented every method, reused as much code as possibly, mirrored the API as heavily as possible, and generally designed it with wrapping away complexity in mind.
I would appreciate if you let me know what you think of it. I'm sure there's a lot of room for improvement.

###Download

BridgeStack can be downloaded following this link on GitHub.

###License

I'm going with GPL

###Platform

C# .NET 4.0

##Contact

Nicolas Bevacqua

##Code

BridgeStack was written under C# .NET 4.0, though I assume it wouldn't be a problem to port it to other plaforms if enough people were interested in it. You can find the full source code on GitHub.

bevacqua
  • 213
  • 1
  • 8