1. NETFx Guard

    By:

    The only argument validation file you need, with full refactoring support and strong-typing. Examples: Guard.NotNull(() => value, value) Guard.NotNullOrEmpty( () => stringValue, stringValue)

  2. NETFx String.FormatWith Extension Method

    By:

    Readable formatting strings using named parameters and a custom or anonymous object as the context, like "Hello {FirstName} {LastName}".FormatWith(customer).

  3. NETFx Reflector

    By:

    Strong-typed static reflection via Reflect: // Void static method MethodInfo cw = Reflect.GetMethod( () => Console.WriteLine); // Instance void method MethodInfo mi = Reflect<IView>.GetMethod(v => v.Show); // Boolean returning instance method MethodInfo pi = Reflect<IViewModel> .GetMethod<bool>(v => v.Save);

  4. NETFx HttpEntityClient

    By:

    Strong-typed Linq to Web API. Builds on top of HttpClient and provides the easiest way to interface with typed REST services that are modeled around typed entities or contracts. Example: var products = client .Query<Product>("products") .OrderBy(x => x.Downloads) .Skip(25) .Take(25) .ToList();

  5. NETFx JsonSerializer : ISerializer

    By:

    Implements the core NETFx ISerializer interface using a Json.NET serializer.

  6. NETFx ISerializer<TStorage>

    By:

    Core interface that serializers can implement to serialize and deserialize an object graph to and from a Stream.

  7. NETFx Epoch Time Extension Methods

    By:

    Provides conversion of DateTime and DateTimeOffset into an epoch-relative number value (total seconds). See Unix Epoch in Wikipedia for more information on why this might be needed. Typical uses include using this simplified representation as an expiration time for a token, password or verification code.

  8. NETFx AppDomain Data<T>

    By:

    Provides strong-typed persistence of data in an AppDomain, which can also be transient and automatically removed on dispose. Usage: AppDomain.CurrentDomain.SetData<Foo>(foo); var saved = AppDomain.CurrentDomain.GetData<Foo>();

  9. NETFx Dynamic Xml

    By:

    Provides a dynamic API over XLinq: var xdoc = XDocument.Load("rss.xml"); var rss = doc.Root.ToDynamic(); // Type conversion, element traversal // using dotted path notation DateTime pubDate = rss.channel.pubDate; // Type conversion, attribute navigation // using indexer notation int port = rss.channel.cloud["port"]

  10. NETFx Dynamic Reflection

    By:

    Provides full reflection capabilities using C# 4.0 dynamic syntax, including invoking and accessing public, internal or private, instance or static members including constructors.

  11. NETFx WebApi Json.NET MediaTypeFormatter

    By:

    A Json.NET-based MediaTypeFormatter for the WebApi that can handle text-based Json as well as binary Json (Bson). To use: var config = HttpHostConfiguration.Create().UseJsonNet();

  12. NETFx Ipsum Generator

    By:

    Generates Lorem Ipsum words for use in tests.

  13. NETFx IDictionary<TKey, TValue>.Find Extension Method

    By:

    Finds a value by key in the dictionary, or returns the default value for TValue. Just like Linq FirstOrDefault().

  14. NETFx Type Inheritance Tree

    By:

    Allows inspecting the exact type inheritance tree as declared in source, rather than the flattened view that reflection provides (for implemented interfaces, for example). Enables code to determine what are the interfaces implemented directly by a type rather than a base class, as well as determine the "distance" in the hierarchy to those implemen... More information

  15. NETFx XmlSerializer<T>

    By:

    Provides a generics version of XmlSerializer.

  16. NETFx HttpClient.Query<T>

    By:

    Allows querying WCF Web Api endpoints that expose IQueryable<T>, with full query support for nested relationships, etc. Does not deal with response deserialization. Look for HttpEntityClient for that.

  17. NETFx IDictionary<TKey, TValue>.GetOrAdd Extension Method

    By:

    Provides the GetOrAdd extension method for generic dictionaries, borrowed from the ConcurrentDictionary class.

  18. NETFx IEnumerable<T>.Traverse Extension Method

    By:

    Traverse an enumerable tree, depth or breadth first. Example: var dirs = new DirectoryInfo("C:\\") .Traverse(TraverseKind.BreadthFirst, dir => dir.EnumerateDirectories());

  19. NETFx HttpNameValueCollection

    By:

    A simpler NameValueCollection-derived class that uses HTTP query string semantics and renders to a query string when ToString is invoked.

  20. NETFx Smart String Resources

    By:

    Suplements the built-in Resources .resx C# generator by generating a strong-typed class named Strings from the same .resx file, but exposing format parameters as method parameters and organizing strings in classes according to the resource name if it uses underscores. i.e. User_InvalidCredentials can be accessed with Strings.User.InvalidCredentia... More information