<commit_before>StronglyTypedEnumConverter
==========================

Converts a basic C# or VB enum to a strong typed enum class.  

A strongly typed enum class offers:
* Invalid integers cannot be assigned
* ToString can be overridden to yeild results different that the member names and survive obfuscators
* The class provides an encapsulation point to add methods, properties, and operators
* Provides the same intellisense goodness as a standard enum, plus discoverability with our custom added methods


```C#
//A simple C# enum
enum CowboyType {
    Good,
    Bad,
    Ugly
}
```

This tool converts to the following:

```C#
class CowboyType
{

    private CowboyType() { }

    public static readonly CowboyType Good = new CowboyType();
    public static readonly CowboyType Bad = new CowboyType();
    public static readonly CowboyType Ugly = new CowboyType();

    public override string ToString()
    {
        var map = new Dictionary<CowboyType, string>
        {
            {Good, "Good"},
            {Bad, "Bad"},
            {Ugly, "Ugly"}
        };

        return map[this];
    }
    
    //And much, much more...
    //* An All method to iterate over the enum members
    //* A FromString static method
    //* Explicit operator methods to convert to/from an integer
    
    //Plus add your own...
    //* DefaultHatColor method
    //* To/From how this value is represented in a database or other external systems
}
```

The conversion routine is hosted by a WPF desktop application.  
Its also available as a DLL so that if you want you can
build a command line tool, Visual Studio or Resharper Add-in.


License
=======

The MIT License (MIT)

Copyright (c) 2014 <NAME><commit_msg>Added link to blog post for more details<commit_after>StronglyTypedEnumConverter
==========================

Converts a basic C# or VB enum to a strong typed enum class.  

A strongly typed enum class offers:
* Invalid integers cannot be assigned
* ToString can be overridden to yeild results different that the member names and survive obfuscators
* Solves the Primitive Obsession code smell
* Provides the same intellisense goodness as a standard enum, plus discoverability with our custom added methods


```C#
//A simple C# enum
enum CowboyType {
    Good,
    Bad,
    Ugly
}
```

This tool converts to the following:

```C#
class CowboyType
{

    private CowboyType() { }

    public static readonly CowboyType Good = new CowboyType();
    public static readonly CowboyType Bad = new CowboyType();
    public static readonly CowboyType Ugly = new CowboyType();

    public override string ToString()
    {
        var map = new Dictionary<CowboyType, string>
        {
            {Good, "Good"},
            {Bad, "Bad"},
            {Ugly, "Ugly"}
        };

        return map[this];
    }
    
    //And much, much more...
    //* An All method to iterate over the enum members
    //* A FromString static method
    //* Explicit operator methods to convert to/from an integer
    
    //Plus add your own...
    //* DefaultHatColor method
    //* To/From how this value is represented in a database or other external systems
}
```
Read more: http://geekswithblogs.net/TimothyK/archive/2014/07/31/strongly-typed-enum-pattern.aspx

The conversion routine is hosted by a simple WPF desktop application.  
Its also available as a DLL so that if you want you can
build a command line tool, Visual Studio or Resharper Add-in (please share).


License
=======

The MIT License (MIT)

Copyright (c) 2014 <NAME>
{'fraction_non_alphanumeric': 0.09219858156028368, 'fraction_numerical': 0.0045390070921985815, 'mean_word_length': 2.984180790960452, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6996323', 'n_tokens_mistral': 1004, 'n_tokens_neox': 944, 'n_words': 434}