Bir yöntemi C # kullanarak eski veya kullanımdan kaldırılmış olarak nasıl işaretleyebilirim ?
[EditorBrowsable(EditorBrowsableState.Never)]
( stackoverflow.com/a/9086345/661933 ). Biraz farklı bir amaca hizmet eder.
Bir yöntemi C # kullanarak eski veya kullanımdan kaldırılmış olarak nasıl işaretleyebilirim ?
[EditorBrowsable(EditorBrowsableState.Never)]
( stackoverflow.com/a/9086345/661933 ). Biraz farklı bir amaca hizmet eder.
Yanıtlar:
En kısa yol, yöntemeObsoleteAttribute
bir öznitelik olarak eklemektir . Uygun bir açıklama eklediğinizden emin olun:
[Obsolete("Method1 is deprecated, please use Method2 instead.")]
public void Method1()
{ … }
Yöntem böyle bir kodda bir yerden çağrılırsa, yöntemin kullanımını uyarı yerine bir hata olarak ele alarak derlemenin başarısız olmasına da neden olabilirsiniz :
[Obsolete("Method1 is deprecated, please use Method2 instead.", true)]
Bir uyarıyla eski olarak işaretlemek için:
[Obsolete]
private static void SomeMethod()
Kullanırken bir uyarı alırsınız:
IntelliSense ile:
Bir mesaj istiyorsanız:
[Obsolete("My message")]
private static void SomeMethod()
İşte IntelliSense araç ipucu:
Son olarak, kullanımın bir hata olarak işaretlenmesini istiyorsanız:
[Obsolete("My message", true)]
private static void SomeMethod()
Ne zaman kullanılır bu olsun:
Not: İletiyi, insanlara neden kullanılmadığını değil, ne kullanmaları gerektiğini söylemek için kullanın.
Anahtar kelimeyi kullanarak yönteme bir açıklama ekleyin Obsolete
. İleti bağımsız değişkeni isteğe bağlıdır, ancak öğenin neden artık kullanılmadığını ve / veya bunun yerine ne kullanılacağını bildirmek için iyi bir fikirdir.
Misal:
[System.Obsolete("use myMethodB instead")]
void myMethodA()
İle ObsoleteAttribute
kullanımdan kaldırılmış yöntemi gösterebilirsiniz. Eski özniteliğin üç kurucusu vardır:
[Obsolete]:
parametre oluşturucusudur ve bu özniteliği kullanan bir varsayılan değerdir.[Obsolete(string message)]:
bu formattamessage
bu yöntemin neden kullanımdan kaldırıldığını öğrenebilirsiniz .[Obsolete(string message, bool error)]:
bu formatta mesaj çok açıktır, ancakerror
derleme zamanında derleyicinin hata göstermesi ve derlemenin başarısız olmasına neden olması gerekir.