Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/atifaziz/mannex
Collection of Extension Methods for Microsoft .NET Framework
https://github.com/atifaziz/mannex
Last synced: 15 days ago
JSON representation
Collection of Extension Methods for Microsoft .NET Framework
- Host: GitHub
- URL: https://github.com/atifaziz/mannex
- Owner: atifaziz
- License: apache-2.0
- Created: 2016-08-17T09:57:29.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2019-04-08T17:54:31.000Z (over 5 years ago)
- Last Synced: 2024-08-10T21:15:40.498Z (3 months ago)
- Language: C#
- Homepage:
- Size: 860 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING.txt
Awesome Lists containing this project
README
[![NuGet version][pkg-badge]][pkg]
[![Build status][ci-badge]][ci]Mannex is yet another extension library for the Microsoft .NET Framework,
but with a few twists and a unique approach:- It can be used piecemeal; take only what you need
- You can include it as an external assembly reference or just include its
source and go
- Just leave out one file and extension methods from Mannex appear
internal to your own library or application, leaving your public API
pristine and under your control
- It introduces no new typesIn 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, Mannex
takes a least intrusive and intuitive approach to adding value to your own
project and code. You can just include the C# files directly into your
project, somewhat akin to [static linking][static-linking] in C/C++. This
means you don't take a hit on yet another assembly for deployment.While Mannex may grow in size as more and more extension methods are
added, your project does not necessarily take the bloat. Not doing web
development? Fine, just don't include files with extensions methods from
that space.In the near future, Mannex hopes to provide a sort-of bundling tool (help
wanted) that will enable developers to pick and choose what they wish to
use. Today, you will have to choose to include or exclude files manually.
Meanwhile, you can also try to achieve a similar effect with
[ILMerge][ilmerge] and its `/internalize` switch.Mannex is also [available as a NuGet package][pkg]!
[pkg]: http://nuget.org/packages/Mannex/
[pkg-badge]: https://badge.fury.io/nu/Mannex.svg
[ci]: https://ci.appveyor.com/project/raboof/mannex
[ci-badge]: https://ci.appveyor.com/api/projects/status/4r4verdebglogg96/branch/master?svg=true
[static-linking]: http://en.wikipedia.org/wiki/Static_linking
[ilmerge]: http://research.microsoft.com/en-us/people/mbarnett/ilmerge.aspx