我需要一些帮助指向正确的方向。我想创建一个可以处理不同类型的方法。我需要以某种方式传递这些类型并以某种方式使用它们。对此的任何指导都会很棒。这是方法,其中" 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
答案 0 :(得分:3)
您可以使方法通用以接受类型参数:
public static object MatchAccountType<T>(string acctTypeStr)
然后可以在方法中的代码中使用该类型:
public static object MatchAccountType<T>(string acctTypeStr)
{
var acctTypes = SharedUtils.GetEnumValues<T>();
foreach (T acctType in acctTypes)
{
if (acctTypeStr.ToUpper() == acctType.ToString().ToUpper())
{
return acctType;
}
}
return null;
}
如果您需要在方法中的代码中与该类型进行更多交互,或者对可以使用的类型进行限制,则可以使用more to it that you can investigate。但只需要一个类型参数就可以通过简单地使它成为通用方法来完成。