gpt4 book ai didi

.net - 当 switch 语句确实有未处理的情况时,有没有办法让 c# 编译器显示警告?

转载 作者:行者123 更新时间:2023-12-04 04:01:35 25 4
gpt4 key购买 nike

考虑以下代码:

        private enum myEnum
{
A,
B
}
private void myMethod(myEnum m)
{
switch (m)
{
case myEnum.A:
//do stuff
break;
case myEnum.B:
//do stuff
break;
default:
throw new NotImplementedException(m.ToString());
}
}

如果我将第三个成员 C 添加到 myEnum,我只会在运行时收到 NotImplementedException 警告

我想做的是让编译器在有未处理案例的开关时警告我 无默认值:大小写。

有没有办法做到这一点,或者这个问题的其他解决方案,最终目标是在编译时被警告缺少某些东西?

最佳答案

不,语言中没有任何内容可以检查这一点。

你可以有一个:

default:
throw new ArgumentOutOfRangeException("Invalid value or bug");

情况,但显然这是执行时间而不是编译时间。

关于.net - 当 switch 语句确实有未处理的情况时,有没有办法让 c# 编译器显示警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/708817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com