9

假设我正在处理 Welcome.cs 文件。在构造函数中,我想打印“欢迎”。但是,如果我将相同的代码放在 HelloWorld.cs 中,它应该会打印 HellowWorld。我怎么做?

4

5 回答 5

14

你可以试试

string thisFile = new System.Diagnostics.StackTrace(true).GetFrame(0).GetFileName(); 
于 2013-04-30T08:29:06.940 回答
11

如何打印

[当前文件名-方法名-行号]?

private static void Log(string text,
                        [CallerFilePath] string file = "",
                        [CallerMemberName] string member = "",
                        [CallerLineNumber] int line = 0)
{
    Console.WriteLine("{0}_{1}({2}): {3}", Path.GetFileName(file), member, line, text);
}

测试:

Log("Test");

输出:

Program.cs_Main(11):测试

于 2013-04-30T08:32:56.003 回答
10

如果我理解正确,请尝试this.GetType().Name

于 2013-04-30T08:28:53.280 回答
8

试试这个来获取文件名:

string currentFile = new System.Diagnostics.StackTrace(true).GetFrame(0).GetFileName(); 

获取当前行:

int currentLine = new System.Diagnostics.StackTrace(true).GetFrame(0).GetFileLineNumber(); 
于 2013-04-30T08:29:04.153 回答
0

如果要获取类名,可以使用反射技术。

例如:

Type classType = yourObject.GetType();

您可以从中获取课程的名称

类类型.名称

于 2013-04-30T08:36:04.990 回答