Merge pull request #1 from xfischer/master

Added RandomEnum<TEnum>()
This commit is contained in:
AJ Hoffer 2015-08-30 19:03:57 -04:00
commit e5d1fac607
8 changed files with 130 additions and 111 deletions

View file

@ -20,6 +20,16 @@ namespace LoremNET
return items[index]; return items[index];
} }
public static TEnum RandomEnum<TEnum>()
{
if (typeof(TEnum).IsEnum)
{
var v = Enum.GetValues(typeof(TEnum));
return (TEnum)v.GetValue(LoremNET.RandomHelper.Instance.Next(v.Length));
}
else throw new ArgumentException("Generic type must be an enum.");
}
/* http://stackoverflow.com/a/6651661/234132 */ /* http://stackoverflow.com/a/6651661/234132 */
public static long Number(long min, long max) public static long Number(long min, long max)
{ {

Binary file not shown.

Binary file not shown.

View file

@ -2,3 +2,8 @@ C:\AJ\Personal\GitHub\Lorem.NET\Lorem.NET\bin\Release\LoremNET.dll
C:\AJ\Personal\GitHub\Lorem.NET\Lorem.NET\bin\Release\LoremNET.pdb C:\AJ\Personal\GitHub\Lorem.NET\Lorem.NET\bin\Release\LoremNET.pdb
C:\AJ\Personal\GitHub\Lorem.NET\Lorem.NET\obj\Release\LoremNET.dll C:\AJ\Personal\GitHub\Lorem.NET\Lorem.NET\obj\Release\LoremNET.dll
C:\AJ\Personal\GitHub\Lorem.NET\Lorem.NET\obj\Release\LoremNET.pdb C:\AJ\Personal\GitHub\Lorem.NET\Lorem.NET\obj\Release\LoremNET.pdb
D:\Repositories\Lorem.NET\Lorem.NET\obj\Release\Lorem.NET.csprojResolveAssemblyReference.cache
D:\Repositories\Lorem.NET\Lorem.NET\obj\Release\LoremNET.dll
D:\Repositories\Lorem.NET\Lorem.NET\obj\Release\LoremNET.pdb
D:\Repositories\Lorem.NET\Lorem.NET\bin\Release\LoremNET.dll
D:\Repositories\Lorem.NET\Lorem.NET\bin\Release\LoremNET.pdb

Binary file not shown.

Binary file not shown.

View file

@ -49,6 +49,10 @@ bool isTruth = LoremNET.Lorem.Chance(55, 100);
// this will randomly select an item from the group: // this will randomly select an item from the group:
string[] numbers = GetNumbers(); string[] numbers = GetNumbers();
string number = LoremNET.Lorem.Random(numbers); string number = LoremNET.Lorem.Random(numbers);
// this will randomly select a value from the enum:
MyEnum value = LoremNET.Lorem.RandomEnum<MyEnum>();
``` ```
### RandomHelper ### RandomHelper