Popularity
0.6
Declining
Activity
0.0
Declining
0
0
0
Programming language: C#
FlexEnum alternatives and similar packages
Based on the "Misc" category.
Alternatively, view FlexEnum alternatives based on common mentions on social networks and blogs.
-
Polly
Express transient exception handling policies such as Retry, Retry Forever, Wait andRetry or Circuit Breaker in a fluent manner. (.NET 3.5 / 4.0 / 4.5 / PCL / Xamarin) -
FluentValidation
A small validation library for .NET that uses a fluent interface and lambda expressions for building validation rules. -
Humanizer
Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities -
ReactJS.NET
ReactJS.NET is a library that makes it easier to use Babel along with Facebook's React and JSX from C#. -
Jint
Javascript interpreter for .NET which provides full ECMA 5.1 compliance and can run on any .NET plaftform. -
YoutubeExplode
Ultimate library for extracting metadata and downloading Youtube videos and playlists. -
Coravel
Near-zero config .NET Core library that makes Task Scheduling, Caching, Queuing, Mailing, Event Broadcasting (and more) a breeze! -
HidLibrary
This library enables you to enumerate and communicate with Hid compatible USB devices in .NET. -
Jurassic
A implementation of the ECMAScript language and runtime. It aims to provide the best performing and most standards-compliant implementation of JavaScript for .NET. -
Warden
Define "health checks" for your applications, resources and infrastructure. Keep your Warden on the watch -
Jot
a library for persisting and restoring application state (a better alternative to .settings files). -
ByteSize
ByteSize is a utility class that makes byte size representation in code easier by removing ambiguity of the value being represented. ByteSize is to bytes what System.TimeSpan is to time. -
Mediator.Net
A simple mediator for .Net for sending command, publishing event and request response with pipelines supported -
SolidSoils4Arduino
C# .NET - Arduino library supporting simultaneous serial ASCII, Firmata and I2C communication -
DeviceDetector.NET
The Universal Device Detection library will parse any User Agent and detect the browser, operating system, device used (desktop, tablet, mobile, tv, cars, console, etc.), brand and model. -
FormHelper
Form & Validation Helper for ASP.NET Core. Form Helper helps you to create ajax forms and validations without writing any javascript code. (Compatible with Fluent Validation) -
Jering.Javascript.NodeJS
Invoke Javascript in NodeJS, from C# -
Outcome.NET
Never write a result wrapper again! Outcome.NET is a simple, powerful helper for methods that return a value, but sometimes also need to return validation messages, warnings, or a success bit. -
https://github.com/minhhungit/ConsoleTableExt
Fluent library to create table for .Net console application. -
FlatMapper
A library to import and export data from and to plain text files in a Linq compatible way. -
NaturalSort.Extension
Extension method for StringComparer that adds support for natural sorting (e.g. "abc1", "abc2", "abc10" instead of "abc1", "abc10", "abc2"). -
trybot
A transient fault handling framework including such resiliency solutions as Retry, Timeout, Fallback, Rate Limit and Circuit Breaker. -
AdaskoTheBeAsT.FluentValidation.MediatR
FluentValidation behavior for MediatR -
.NET Fiddle
Write, compile and run C# code in the browser. The C# equivalent of JSFiddle. -
CSScript
CS-Script is a CLR based scripting system which usesC# as a programming language. CS-Script currently targets Microsoft implementation of CLR (.NET 2.0/3.0/3.5/4.0/4.5) with full support on Mono. Comes with many additional features, such as script hosting.
Get performance insights in less than 4 minutes
Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
Sponsored
scoutapm.com
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of FlexEnum or a related project?
README
FlexEnum
BaseEnum
public sealed class Month : BaseEnum<string>
{
public static readonly Month September = new Month("Sept");
public static readonly Month December = new Month("Dec");
public static readonly Month October = new Month("Octob");
public static readonly Month November = new Month("Novemb");
private Month(string val) : base(val)
{
}
}
Assert.Equal(Month.September, Month.September);
Assert.NotEqual(Month.September, Month.October);
Assert.True(Month.September == Month.September);
Assert.True(Month.September != Month.October);
Assert.Equal("Sept", Month.September);
BaseFlagEnum
public sealed class Brace : BaseFlagEnum<string>
{
public static readonly Brace Start = new Brace(1, "{");
public static readonly Brace End = new Brace(2, "}");
public static readonly Brace StartEnd = new Brace(Start | End, "{}");
public static readonly Brace None = new Brace(int.MinValue, string.Empty);
private Brace(int i, string val) : base(i, val)
{
}
}
Assert.Equal(Brace.Start, Brace.Start);
Assert.NotEqual(Brace.Start, Brace.End);
Assert.True(Brace.Start == Brace.Start);
Assert.True(Brace.Start != Brace.End);
Assert.Equal("[1, {]", Brace.Start);
Assert.True(((Brace.Start | Brace.End) & Brace.End) == Brace.End);
Assert.True(Brace.StartEnd.HasFlag(Brace.End));
Assert.False(Brace.StartEnd.HasFlag(Brace.None));
FlexEnum
IsDefune
Assert.Equal(false, Util.FlexEnum.IsDefined<Brace>(null));
Assert.Equal(true, Util.FlexEnum.IsDefined<Brace>(Brace.Start));
var ctor = typeof(Month).GetConstructor(BindingFlags.Instance | BindingFlags.NonPublic, null, new []{typeof(string)}, null);
var anotherObj = (Month)ctor.Invoke(new []{"NOT ENUM VALUE"});
Assert.Equal(false, Util.FlexEnum.IsDefined<Brace>(anotherObj));
TryParseTest
Brace parseVal;
Assert.Equal(false, Util.FlexEnum.TryParse("NOTCONTAIN", out parseVal));
Assert.Equal(true, Util.FlexEnum.TryParse("[1, {]", out parseVal));
ParseTest
Assert.Equal(null, Util.FlexEnum.Parse<Brace>("NOTCONTAIN"));
Assert.Equal(Brace.Start, Util.FlexEnum.Parse<Brace>("[1, {]"));
Flag auto generate value
public sealed class StepGenerator1 : BaseFlagEnum<string>
{
public static StepGenerator1 Step1;
public static StepGenerator1 Step2;
public static StepGenerator1 Step3;
static StepGenerator1()
{
StartValue = 5;
Step1 = new StepGenerator1(string.Empty);
Step2 = new StepGenerator1(string.Empty);
Step3 = new StepGenerator1(string.Empty);
}
private StepGenerator1(string val2) : base(val2)
{
}
}
Assert.Equal(5, StepGenerator1.Step1.Value);
Assert.Equal(6, StepGenerator1.Step2.Value);
Assert.Equal(7, StepGenerator1.Step3.Value);
Flag value generator value
public sealed class StepGenerator2 : BaseFlagEnum<string>
{
public static StepGenerator2 Step1;
public static StepGenerator2 Step2;
public static StepGenerator2 Step3;
static StepGenerator2()
{
StartValue = 0;
var gen = new Generator();
Step1 = new StepGenerator2(string.Empty, gen);
Step2 = new StepGenerator2(string.Empty, gen);
Step3 = new StepGenerator2(string.Empty, gen);
}
private StepGenerator2(string val2, IEnumStepGenerator enumStepGenerator)
: base(val2, enumStepGenerator)
{
}
private sealed class Generator : IEnumStepGenerator
{
public int NextStep(int curVal)
{
return 1 << curVal;
}
}
}
}
Assert.Equal(1, StepGenerator2.Step1.Value);
Assert.Equal(2, StepGenerator2.Step2.Value);
Assert.Equal(4, StepGenerator2.Step3.Value);