Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1416 of 1492 menu
◀ ▶

CallerLineNumber

Номер зависит от разметки файла - конкретное число в вывод не кладут. Два вызова на разных строках дают разные значения. Явный аргумент остаётся как передан. Имя члена - CallerMemberName, файл - CallerFilePath.

Синтаксис

using System.Runtime.CompilerServices; void Method([CallerLineNumber] int line = 0)

Пример

Давайте сравнить два вызова на разных строках:

using System; using System.Runtime.CompilerServices; class Program { static int Show([CallerLineNumber] int line = 0) { return line; } static void Main() { int first = Show(); int second = Show(); bool res = first != second; Console.WriteLine(res); } }

Результат выполнения кода:

True

Пример

Давайте передать номер строки явно:

using System; using System.Runtime.CompilerServices; class Program { static void Show([CallerLineNumber] int line = 0) { Console.WriteLine(line); } static void Main() { Show(12345); } }

Результат выполнения кода:

12345

Пример

Давайте проверить, что подставленный номер положителен:

using System; using System.Runtime.CompilerServices; class Program { static void Show([CallerLineNumber] int line = 0) { bool res = line > 0; Console.WriteLine(res); } static void Main() { Show(); } }

Результат выполнения кода:

True

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить