Skip to content

MarkEmbling.Utils

Whilst working in various different .NET-based projects, I can find myself doing the same things over and over again. Quite often, this can be copied and pasted from one project to another or re-implemented slightly differently from one project to another. I don't think this is the best approach, so I've decided to start bringing together all these bits and pieces to form MarkEmbling.Utils.

What I've put together so far is very much an early work-in-progress, and solves a very small number of (small but often repetitive) problems. As time goes on, I'll be adding more to it and most likely expanding it a fair bit as I find myself doing other things repeatedly.

What is there?

  • MarkEmbling.Utils
    A collection of (mainly) extension methods which add various helpful bits I tend to frequently need, such as a EqualsWithoutCase method for strings, ToInt on floating point numbers and a bunch more.

  • MarkEmbling.Utils.Forms
    Windows Forms related stuff. I wanted to keep this split out, as it has Forms-specific references. So far the only thing here is ClipboardAwareTextBox, a control which subclasses TextBox and adds events for clipboard-based operations (such as paste).

So far, there is nothing in terms of documentation but I will be looking to add some in the future. Until then, the best place to look is the tests. Also, it is targeting .NET 4.0 - I'm basically ignoring older versions.

Use it

If it is useful to you, feel free to use it, fork it or use it however you see fit. It is all available on GitHub and licensed under the BSD license. In addition, I have made NuGet packages for easy installation into your projects.


Update April 2017

The original MarkEmbling.Utils has been updated quite a lot and is now known as MarkEmbing.Utilities (NuGet). It has been updated to now target .NET Standard 1.1 and has had the grammar components and Windows Forms elements removed entirely. This package will be maintained going forward and the old MarkEmbling.Utils packages will be left only for backwards-compatibility.