【发布时间】:2017-03-23 23:27:21
【问题描述】:
我需要一些帮助来指明正确的方向。我想创建一个可以处理不同类型的方法。我需要以某种方式传递这些类型并以某种方式使用它们。对此的任何指导都会很棒。这是方法,其中“TypeINeedToPassIn”是,是的,你猜对了,我需要传入的类型:
public static object MatchAccountType(string acctTypeStr)
{
var acctTypes = SharedUtils.GetEnumValues<TypeINeedToPassIn>();
foreach (TypeINeedToPassIn acctType in acctTypes)
{
if (acctTypeStr.ToUpper() == acctType.ToString().ToUpper())
{
return acctType;
}
}
return null;
}
TIA
【问题讨论】:
-
请看一下这个 MSDN 文档msdn.microsoft.com/en-us/library/twcad0zb.aspx
-
“泛型”是为此目的而构建的。
-
重塑Enum.Parse()似乎需要做很多工作。
-
所以你正在按名称进行枚举值查找?为什么不使用(通用)
Enum.TryParse<>方法?有一个忽略大小写的重载。 -
我正在使用一些较旧的现有代码,但我愿意接受任何建议的改进。
标签: c#