相关疑难解决方法(0)

C#中是否存在__LINE__ __FILE__等价物?

用于记录目的

__LINE__ 
__FILE__ 
Run Code Online (Sandbox Code Playgroud)

我是C/C++的朋友.在Java中获取该信息,我不得不抛出异常并抓住它.为什么在现代编程语言中忽略了这些旧的备用语言?他们的简约有些神奇.

c# logging

41
推荐指数
4
解决办法
2万
查看次数

在C#中打印源文件名和亚麻布

有没有办法检索C#代码中的当前源文件名和亚麻,并在控制台输出中打印该值?像C中的LINEFILE一样?

请指教.

非常感谢

c#

37
推荐指数
2
解决办法
2万
查看次数

是否有编译时访问C#中的行号?

我正在使用Visual Studio 2010编写一个C#程序,我希望将某些事件写入日志文件,并包含代码所在的行号.

我只发现了两种捕获行号的方法 - CallerLineNumber,它需要.Net 4.5/C#5(我的目标是.Net 4)和StackFrame.GetFileLineNumber,这显然需要调试版本和pdb文件才能正常工作,我正在生成一个发布版本,没有pdb文件.

但这是我没有得到的 - 以上都是运行时解决方案,但行号是编译时实体.为什么需要运行时解决方案?

我可以输入正确的行号作为文字常量,只需查看屏幕底部的内容,如"ln 175"...

LogEvent("It happened at line 175");
Run Code Online (Sandbox Code Playgroud)

但问题是,如果我在第175行之前编辑任何代码,我的文字可能不再正确.但编译器知道正确的行号,并且我过去曾使用过编程语言,它们只能将正确的行号作为编译时常量弹出.(例如,ANSI C和Microsoft C++支持预定义的宏调用 _LINE_)有没有办法让C#这样做?如果没有解决我的问题?

c#

17
推荐指数
1
解决办法
1460
查看次数

NLog ::将源代码行号添加到日志中

我需要通过NLog将日志条目的源代码行号.

请让我知道其他方法.

<<Log entry>> Line 23 
 <<Log entry>> Line 391
Run Code Online (Sandbox Code Playgroud)

PS-23,391是源代码行号.谢谢

nlog

3
推荐指数
2
解决办法
4988
查看次数

如何包含行号和文件名Console.WriteLine输出?

有没有办法在C#的Console.WriteLine函数中包含行号和文件名?

例如,在文件"myClass.cs"的第115行,我有声明

Console.WriteLine("Hello world");
Run Code Online (Sandbox Code Playgroud)

我希望输出为:

[myClass.cs][115]:  Hello world 
Run Code Online (Sandbox Code Playgroud)

c# visual-studio

3
推荐指数
1
解决办法
3171
查看次数

获取执行代码的行号

我们如何获得C#/ WinForms中当前正在执行的代码的行号.

在PHP中,我们可以访问__LINE____FUNCTION__访问有关当前正在执行的代码段的详细信息.

.net c# winforms

0
推荐指数
1
解决办法
1179
查看次数

标签 统计

c# ×5

.net ×1

logging ×1

nlog ×1

visual-studio ×1

winforms ×1