我正在尝试编写一个通用方法,该方法将在传递枚举时返回特定标记。以下是已减少到此问题所需的最低代码的方法。
public static string GetMarkup(Type enumType)
{
StringBuilder builder = new StringBuilder();
foreach (var val in Enum.GetValues(enumType))
{
builder.Append(val.ToString());
}
return builder.ToString();
}
该方法是这样调用的,其中 CopyType 是一个枚举:
GetDropDownListHtml(typeof(CopyType))
目标是能够调用我为要传递给此方法的枚举编写的 ToString() 扩展方法。问题是,为了使方法通用,我需要var
在 foreach 声明中声明我的变量,但这会将它装箱。我有一个对象是盒装的 CopyType,而不是 CopyType 的枚举。
作为回应,我尝试了很多这样的想法,但无济于事:
((typeof(enumType))val.ToString()
有任何想法吗?