A collection of very reusable code and components in C# 4.0 ranging from ActiveRecord, Csv, Command Line Parsing, Configuration, Validation, Logging, Collections, Authentication, and much more.
This is ideal for C# developer looking for a Utility library, Java developers looking for a C# version of Java Commons.
: .NET C# 4.0 for current version. 3.5 for prior versions
NDepend is a Visual Studio tool to manage complex .NET code and achieve high Code Quality
| Account | Example | Account component for Users/Groups/Roles. (With easily pluggable repository) |
| ActiveRecord | Example | Light-weight ActiveRecord pattern supporting CRUD/Find methods. Single entity-table relationships only |
| Application | Example | A template base class for any application, providing environment selection(Dev,Qa,Prod), logging, error handling, configuration and exit codes support. |
| Arguments | Example | Command line arguments parser: supports named/positional args, and several other features |
| Authentication | Example | An pluggable authentication API. Used for web/windows, wraps HttpContext.Current.User and/or Windows Prinicial. |
| Automation | Example | A light-weight automation runner using xml/command line for running tasks associated with c# classes. |
| BenchMark | Example | Light-weight class to provide benchmarking support to measure time used to run code. |
| BootStrapper | Example | Runs tasks on startup and shutdown of an application. |
| Cache | Example | Cache w/ default implementation using HttpRuntime. Can prefix keys and inspect/describe elements in cache. |
| Captcha | N/A | Service for generating Captcha images. |
| Category | N/A | Node based category/sub-category service. |
| CodeGenerator | Example | Fluent based entity generator for CommonLibrary entities |
| Collections | N/A | Contains all sorts of Dictionaries ( MultiValue, Bi-Directional, Ordered, DictionarySet ), Hybrid Enumerator and more |
| Config | Example | Provides inheritance based configuration data from files or databases |
| Cryptography | Example | Cryptographic services for encrypting, decrypting, hashing |
| Csv | Example | Csv parser to parse .csv ( delimited files ) and a light-weight Csv writer |
| Database | Example | Provides simplified access to multiple database related operations |
| Diagnostics | Example | Provides information on environment variables, processes, loaded modules etc |
| Entity | Example | Domain-Driven-Design based entity classes used for persistance |
| Environments | Example | Object representation of environments such as "DEV", "QA", "UAT", "PROD" |
| Errors | Example | Collection class combining both list and key/value based string error messages. |
| Exceptions | N/A | Exception / Error handler class. |
| Extensions | Example | Provides plugin-type functionality to dynamically load specific classes/types from an assembly |
| Extensions_Macros | Example | Similar to wordpress shortcodes. Parses text for macros and replace the macro in text with value returned by macro |
| Feeds | N/A | Service to support RSS, Atom, Xml Serialization |
| HolidayCalendar | Example | Gets holidays or business days for different calendars ( U.S / England/ France ) |
| ImportExport | Example | Provides API for import/export operations on any abitrary datastore of objects |
| Information | N/A | Plugin components used for generating simple reports/informational text. |
| IocContainer | N/A | Generic wrapper around any Inversion Of Control container to avoid hard references to SpringIoC, Unity, CastleWindsor. |
| Location | Example | Provides City, State, Country search features. e.g. "Brooklyn, Ny" is parsed into a City/State/Country object |
| Logging | Example | Logger that's light-weight, extensible, and provides a clear/fluent API to logging. |
| Maps | N/A | Service to build urls for google/yahoo maps. |
| NamedQuery | N/A | Save and name sql queries for easy re-use. e.g. "Top 10 Recent Posts" = "select top 10 * from ..". |
| Notifications | Example | Generates templated messages for email |
| Paging | Example | Independent and reusable pager for paging through data |
| Query | N/A | A light-weight criteria pattern( similar to LINQ ) to programmatically build a query such as Query<Person>().Where( p => p.Name).Is("kishore"). |
| QueueProcessor | Example | A flexible queue to allow placing items into a queue for processing |
| Repository | Example | Repository implementation supporting CRUD/Find methods and sql-like aggregates(Min,Max,Count,Avg,Sum) |
| Scheduler | Example | Light-weight task scheduling service |
| Scripts | Example | Used to register css/javascript files into "placeholders" such as head or footer section. |
| ToDo | Example | Typed marker (like visual studio "TODO" ) to mark code |
| Validation | Example | Provides several validation methods for email, phone, string length etc. |
| Web | N/A | Several web related helper classes and methods |
| Xml | N/A | Various xml helper classes / methods |
Feed back appreciated.
Many of the components in CommonLibraryNET implement a provider model, allowing you to plugin different implementations
for various components using different frameworks.
for some examples of using CommonLibrary.Net.