Есть ли способ проверить потенциальное значение параметра с Roslyn? - PullRequest
0 голосов
/ 02 февраля 2019

У меня есть 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. Возможно ли *1013* проверить Рослин , что когда цвет будет Color.noColor, мы выдадим ошибку во время компиляции?

comments

Я думаю, что это легко проверить:

PrintColor(Color.noColor);

Но как это проверить:

public void GetNoColor() => Color.noColor;
PrintColor(GetNoColor());

1 Ответ

0 голосов
/ 03 февраля 2019

Если вы не хотите, чтобы член какого-либо типа использовался, вы можете просто использовать ObsoleteAttribute.

...