如何获取当前工作的cs文件的文件名和当前类的名称

时间:2013-04-30 08:27:18

标签: c#

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

5 个答案:

答案 0 :(得分:13)

你可以尝试

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

答案 1 :(得分:8)

尝试此操作以获取文件名:

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

获取当前行:

int currentLine = new System.Diagnostics.StackTrace(true).GetFrame(0).GetFileLineNumber(); 

答案 2 :(得分:7)

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

答案 3 :(得分:5)

如何打印

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

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):测试

答案 4 :(得分:0)

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

例如:

Type classType = yourObject.GetType();

您可以从

获取该课程的名称

classType.Name