Как получить номер строки из исходного файла на C# (аналог __LINE__)?

Узнай цену своей работы

Формулировка задачи:

Пишу большую программку на C# и хотела посмотреть при выводе на печать

номер текущей строки

на С++ это можно сделать используя переменную __LINE__, на C# такой переменной нет, я нашла в интернете способы, но ни один из них не работает
int currentLine = new System.Diagnostics.StackTrace(true).GetFrame(0).GetFileLineNumber();
// в переменной currentLine всегда 0
StackFrame CallStack = new StackFrame(0, true); // также не работает: StackFrame(true) StackFrame(1, true) StackFrame(0, true)  StackFrame(0) 
Console.WriteLine("Line: " + CallStack.GetFileLineNumber().ToString() ); // это не работает
Дайте пожалуйста, у кого есть, рабочий код как получить номер текущей строки. Заранее спасибо Читала описание StackTrace на msdn, но там понятных примеров не нашла.

Решение задачи: «Как получить номер строки из исходного файла на C# (аналог __LINE__)?»

textual
Листинг программы
using System;
using System.Diagnostics;
using System.Runtime.CompilerServices;
 
namespace SampleLine
{
   class ConsoleApp
   {
     static void Main()
     {
       Console.WriteLine("строка {0}", GetLineNumber());  
       Console.WriteLine("строка {0}", GetLineNumber());
     }
     
     static int GetLineNumber([CallerLineNumber] int lineNumber = 0)
     {
       return lineNumber;
     }
   }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5
Похожие ответы