尝试随机化枚举值。问题是枚举在我在代码中引用的引用文件中。例如
public enum AccountTypeEnum
{
Direct,
Partner,
Referral,
Resold,
}
在我的参考文件中,在我的代码中,我需要引用AccountTypeEnum并随机化它,这样当我运行我的程序时,我可以得到这4个值中的一个。
到目前为止,我认为随机化这些值是:
public void AcctType()
{
string[] Types = Enum.GetNames(typeof(AccountTypeEnum));
Random randType = new Random();
int randomenum = randType.Next(Types.Length);
var ret = Enum.Parse(typeof(AccountTypeEnum), Types[randomenum]);
}
有关我做错的任何建议吗?
答案 0 :(得分:1)
想出来。创建了一个新类:
public class EnumRandomizeer
{
public static Random rand = new Random();
public static T GetRandomValue<T>()
{
T[] values = (T[])(Enum.GetValues(typeof(T)));
return values[rand.Next(0, values.Length)];
}
}
当引用枚举值时,我引用了这样的类:
AccountTypeEnum randomAcct = EnumRandomizeer.GetRandomValue<AccountTypeEnum>();
工作得很好!