Overview

HTTPS SSH

ManPack is a project for processing functional C# projects in order to split them in self-contained, independent and compilable source code files, one for each function exposed by the library. Each independent unit is then wrapped into a corresponding Nuget package.

The goal of the project is to allow the disaggregation of functionally oriented C# projects in terms of independent, self-contained source files, which could then be included directly into consumer projects. This way we have a much more selective approach towards dependencies: only those functions that are actually needed can be imported as native source code. Such way of distributing code reduces the need for dependencies on binary libraries.

In general, extension methods are designed to avoid duplication by embodying a common and repetitive task on an object (the this and first parameter) through a combination of other methods on the same object and methods on other objects passed in as parameters.

As extension methods are meant to be small and simple utilities, ManPack enables a less intrusive and intuitive approach to adding value to your own project and code, by deconstructing libraries into smaller and independent distributable units. You would just include the C# files directly into your project, somewhat akin to static linking in C/C++. This means you don't take a hit on yet another assembly for deployment. While target libraries may grow in size as more and more extension methods are added, your project would not necessarily take the bloat!