C# - wybiórczo eliminuje niestandardowe przestarzałe Ostrzeżenia
Używam atrybutu Obsolete
(zgodnie z sugestią kolegów programistów), aby pokazać ostrzeżenie, jeśli dana metoda jest używana.
Czy istnieje sposób na wygaszenie Ostrzeżenia podobnego do CodeAnalysis ' SuppressMessage
w miejscach, w których użycie jest uzasadnione?
To musi działać dla [Obsolete("Some message")]
, który generuje ostrzeżenie 618 i zwykły atrybut [Obsolete]
bez komunikatu, który generuje ostrzeżenie 612.
4 answers
Użycie #pragma warning disable
:
using System;
class Test
{
[Obsolete("Message")]
static void Foo(string x)
{
}
static void Main(string[] args)
{
#pragma warning disable 0618
// This one is okay
Foo("Good");
#pragma warning restore 0618
// This call is bad
Foo("Bad");
}
}
Przywróć Ostrzeżenie później, aby nie przegapić "złych" połączeń.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-09 06:18:33
Intencją jest wyłączenie ostrzeżenia dla przestarzałego użycia , niezależnie od tego, czy konstrukcja jest oznaczona[Obsolete]
Czy [Obsolete("Message")]
. Więc użyj obu CS0612 oraz CS0618 :
#pragma warning disable 612, 618
...
#pragma warning restore 612, 618
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-11 16:34:33
Oto Jak uzyskać Ostrzeżenie / numer błędu w pierwszej kolejności:
- Przebuduj swój projekt.
- idź do Wyjście okno.
- Sprawdź linię Ostrzeżenia / błędu, który chcesz stłumić.
Na przykład:C:\Users\Username\Documents\Visual Studio 2010\Projects\Projectname\Classname.cs(203,7): warning CS
0162
: Unreachable code detected
- skopiuj część numeru Po "
CS
". - następnie postępować zgodnie z jon Skeet mówi.
(lepiej zawsze postępuj jak Jon Skeet mówi...)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:04
Szukasz #pragma
warning disable directive
Zasadniczo dodajesz następujące polecenie nad stroną wywołania w .plik cs.
#pragma warning disable 612
SomeMethodCall
612 jest identyfikatorem Komunikatu o błędzie wywołania przestarzałych metod
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-09 05:33:09