コンパイラの警告 (レベル 1) CS0672
メンバー 'member1' が古い形式のメンバー 'member2' をオーバーライドします。 Obsolete 属性を 'member1' に追加してください
コンパイラが override
としてマークされたメソッドへの obsolete
を検出しました。 ただし、オーバーライド元のメソッド自体は obsolete とマークされていませんでした。 オーバーライド元のメソッドを呼び出すと、引き続き CS0612が生成されます。
メソッド宣言を確認し、メソッド (およびそのすべてのオーバーライド) を obsolete
とマークするかどうかを明示的に指定します。
次の例では CS0672 が生成されます。
// CS0672.cs
// compile with: /W:1
class MyClass
{
[System.Obsolete]
public virtual void ObsoleteMethod()
{
}
}
class MyClass2 : MyClass
{
public override void ObsoleteMethod() // CS0672
{
}
}
class MainClass
{
static public void Main()
{
}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。