我的代码如下:
public static void Output<T>(IEnumerable<T> dataSource) where T : class
{
dataSourceName = (typeof(T).Name);
switch (dataSourceName)
{
case (string)typeof(CustomerDetails).Name.ToString(); :
var t = 123;
break;
default:
Console.WriteLine("Test");
}
}
但这行不通。 case 语句给我一个错误,指出需要一个常量变量。请大家帮忙谢谢!
最佳答案
见 C# switch statement limitations - why?
基本上 Switches 不能在 case 语句中有求值语句。它们必须进行静态评估。
关于c# - C# 中的 Switch case - 需要一个常量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7593377/