Как добавить код предупреждения в исключения компиляции?
В предыдущем моем вопросе упомянули что это можно сделать, но как не подсказали и в документации не нашел. Может кто-то знает, буду благодарен
Нравится
Добрый день, Евгений.
Снизу прикрепил пример, где я добавил конкретный участок кода в исключение при компиляции. В результате warning CS4014 не появился. Можно реализовать не только препроцессором.
Более детально можно найти в официальной документации:
https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/supp…
using System; using System.Threading.Tasks; public static class Test{ static void CallingMethodAsync(int millisecondsDelay) { Console.WriteLine(" Entering calling method."); // Call #1. // Call an async method. Because you don't await it, its completion // isn't coordinated with the current method, CallingMethodAsync. // The following line causes warning CS4014. #pragma warning disable CS4014 CalledMethodAsync(millisecondsDelay); #pragma warning restore CS4014 } static async Task CalledMethodAsync(int millisecondsDelay) { Console.WriteLine(" Entering called method, starting and awaiting Task.Delay."); await Task.Delay(millisecondsDelay); Console.WriteLine(" Task.Delay is finished--returning from called method."); } }
Добрый день, Евгений.
Снизу прикрепил пример, где я добавил конкретный участок кода в исключение при компиляции. В результате warning CS4014 не появился. Можно реализовать не только препроцессором.
Более детально можно найти в официальной документации:
https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/supp…
using System; using System.Threading.Tasks; public static class Test{ static void CallingMethodAsync(int millisecondsDelay) { Console.WriteLine(" Entering calling method."); // Call #1. // Call an async method. Because you don't await it, its completion // isn't coordinated with the current method, CallingMethodAsync. // The following line causes warning CS4014. #pragma warning disable CS4014 CalledMethodAsync(millisecondsDelay); #pragma warning restore CS4014 } static async Task CalledMethodAsync(int millisecondsDelay) { Console.WriteLine(" Entering called method, starting and awaiting Task.Delay."); await Task.Delay(millisecondsDelay); Console.WriteLine(" Task.Delay is finished--returning from called method."); } }