【C#】関数やクラスを非推奨(Deprecated)にする

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【C#】関数やクラスを非推奨(Deprecated)にする

2024-8-21 |

C#で関数やクラスを推奨(Deprecated)に設定したい!

概要

今回の記事では、C#で関数やクラスを推奨(Deprecated)に設定して、ビルド時に警告やエラーを発生させる手順を掲載する。

仕様書

環境

  • .NET 8

手順書

例としてちょっとあれな感じの静的関数を用意した。

警告を出す場合には関数の定義の前の行に[Obsolete("メッセージ")][Obsolete("メッセージ", false)]を入力する。

[Obsolete("Amari Tsukauna")]
static public void NekoChanHshs()
{
    Console.WriteLine("hshs");
}

この関数を使って猫ちゃんをhshsしようとすると

こんな感じで警告が出るようになる。
ビルド自体は可能。

エラーを出す場合には関数の定義の前の行に[Obsolete("メッセージ", true)]を入力する。第2引数をtrueにするとエラーになる感じ。

[Obsolete("Zettai Tsukauna!", true)]
static public void NekoChanPrpr()
{
    Console.WriteLine("prpr");
}

この関数を使って猫ちゃんをprprしようとすると

こんな感じでエラー出るようになる。
ビルド不可。

クラスに使う場合も同じように定義の前の行に入力する。

[Obsolete("Use after fixing!!!")]
public class OldCatTower
{
    ...
}

まとめ(感想文)

開発期間が長くなるとこういう設定も必要になってくると。