c# - 有没有办法用 Roslyn 检查参数潜在值?
问题描述
我有一个enum Color
:
enum Color {
red,
blue,
noColor // This will be deprecated.
}
还有一个功能PrintColor
:
public void PrintColor(Color color) {
Console.WriteLine(color);
}
因为我想noColor
被弃用,所以我不允许PrintColor
' 参数color
为Color.noColor
. Roslyn是否可以检查当 color 是时,我们会在编译时引发错误?Color.noColor
注释
我认为这个很容易检查:
PrintColor(Color.noColor);
但是如何检查这个:
public void GetNoColor() => Color.noColor;
PrintColor(GetNoColor());
解决方案
如果您不想使用某些类型的成员,则可以使用ObsoleteAttribute
.
推荐阅读
- python - 如何使用sqlalchemy从fastapi中没有时区的列类型日期时间的postges表中检索值?
- jmeter - Jmeter:从单个请求中捕获令牌(例如 50 个令牌)并一次将一个令牌传递给下一个即将到来的 50 个请求
- .net - .NET(核心)5.0:单元测试永远挂起
- unit-testing - 用户定义的对 Aws Ec2 内部单元测试调用的响应
- angular - 角度事件未第二次触发
- r - 在不使用 stl 或分解的情况下提取季节性效应
- pandas - Pandas(使用 def 和 np.where):数据框行中的值错误,以另一个数据框行为条件
- javascript - reactjs中的事件监听器和闭包
- reactjs - 反应 onClick 更新 useState 变量并渲染更新
- android - 在 Google Play 中为 aab 映射文件