enumを返す非難された(Obsolete)関数があり、enumのListを返す新しい関数があります。 enum値のenum deprecated c#
一つは、(それが一覧にすることができないため)として廃止列挙メンバーを設定するので、それが可能である、唯一の非推奨の関数で使用されて?
enumを返す非難された(Obsolete)関数があり、enumのListを返す新しい関数があります。 enum値のenum deprecated c#
一つは、(それが一覧にすることができないため)として廃止列挙メンバーを設定するので、それが可能である、唯一の非推奨の関数で使用されて?
することができます、確かに:
public enum EE
{
A,
[Obsolete]
B
}
私は列挙型でこれを試していませんでしたが、このような何かがうまくいくかもしれない:
[Obsolete("Please use ... instead!")]
public enum MyEnum
{
One,
Two,
Three
}
他のポスターが指摘したように、あなたがObsoleteAttribute
を追加することができます列挙型メンバに渡しますが、それはあなたのコードで引き続き使用できます。列挙型メンバをプログラム的に除外する方法はありません。つまり、列挙型に存在する場合はコンパイルエラーまたは例外を生成します。属性を追加すると、開発者に警告が表示されます。
これは間違っています。[IsError](http://msdn.microsoft.com/en-us/library/system.obsoleteattribute.iserror.aspx)というプロパティがあり、これがtrueの場合はコンパイラエラーになります警告の代わりに。 –
実際、コンパイラの警告またはコンパイラエラーのいずれかを生成することは可能です。
public enum TestEnum
{
A,
[Obsolete("Not in use anymore")]
B,
[Obsolete("Not in use anymore", true)]
C,
}
public class Class1
{
public void TestMethod()
{
TestEnum t1 = TestEnum.A; //Works just fine.
TestEnum t2 = TestEnum.B; //Will still compile, but generates a warning.
TestEnum t3 = TestEnum.C; //Will no longer compile.
}
}
これは、[廃止]属性を使用する場合はいつでも動作します。
['ObsoleteAttribute'](http://msdn.microsoft.com/en-us/library/system.obsoleteattribute.aspx)を使用してみましたか? –
いくつかのコードを見る必要があります... – BoltClock
@BoltClockなぜですか?私はちょうど古いものとして列挙型を設定したいと思っています... – JohnJohnGa