尝试随机化枚举值。问题是枚举在我在代码中引用的引用文件中。例如
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]);
}
关于我做错了什么,有什么建议吗?
想明白了。创建了一个新类:
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>();
工作很棒!