假设我正在使用Welcome.cs文件。在构造函数中,我想打印“欢迎”。但是,如果我将相同的代码放在HelloWorld.cs中,它应该打印HellowWorld。我怎么做?如何获取当前工作的cs文件的文件名和当前类的名称
回答
,如果我理解正确的话,尽量this.GetType().Name
我们其中一个人没有正确理解。 OP询问如何获取源文件名。 – harpo 2013-04-30 08:29:23
@harpo - 刚刚阅读他的评论 - 似乎他的意思是类 – NDJ 2013-04-30 08:32:18
是的我的意思是类名。我得到了答案。谢谢你的朋友 – user2039445 2013-04-30 08:33:38
尝试使用此方法获取文件名:
string currentFile = new System.Diagnostics.StackTrace(true).GetFrame(0).GetFileName();
为了得到当前行:
int currentLine = new System.Diagnostics.StackTrace(true).GetFrame(0).GetFileLineNumber();
你可以试试
string thisFile = new System.Diagnostics.StackTrace(true).GetFrame(0).GetFileName();
这是做到这一点的方法。请注意,“真”表示包含调试信息。这只适用于调试版本,它会发出包含源信息的'pdb'文件。 – harpo 2013-04-30 08:30:41
如果OP没有被混淆,这就是做这件事的方法。 =) – 2013-04-30 08:32:57
如何打印
[当前文件名 - 方法名 - 行号]?
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):测试
如果你想要得到的类名,你可以使用反射技术。
如:
Type classType = yourObject.GetType();
你可以从
classType.Name获取类的名字
很好的答案,但不幸的是,这个答案已经存在。 – user2039445 2013-04-30 08:37:46
- 1. 获取当前文件夹名称
- 2. 如何在插件动作类中获取当前文件名
- 3. 在Dymola获取当前的型号名称和文件路径
- 4. 获取当前类的名称
- 5. Ruby中的当前文件夹名称?
- 6. .BAT当前文件夹的名称
- 7. 使用文件夹名称作为前缀和当前文件名的一部分重命名文件VBS
- 8. AVAudioPlayer获取当前MP3文件名
- 9. qmake语言,如何获取当前文件夹名称?
- 10. Ubuntu:如何获取当前桌面工作区的名称?
- 11. 获取当前MembershipProvider名称
- 12. 如何获取当前的viewController类名?
- 13. 获取Phar存档内当前文件的名称
- 14. 获取Windows特殊文件夹的当前名称
- 15. 获取当前PHP脚本的名称包括文件
- 16. 函数获取当前执行文件的目录名称
- 17. 当前文件的jekyll文件名
- 18. 如何获取传入当前对象的对象的类名或文件名?
- 19. 获取当前日志文件的文件名Enterprise Library 5.0
- 20. 如何获取没有路径和扩展名的webpack的当前文件名?
- 21. 如何获取当前控件的名称以动态分配控件文本?
- 22. 如何获取rspec的当前上下文名称?
- 23. 如何获取当前执行的模板文件名?
- 24. C#如何获取当前的Powerpoint演示文件名?
- 25. 如何获取当前目录中的所有文件名?
- 26. 如何获取当前没有文件名的虚拟路径?
- 27. 引用当前文件名
- 28. 获取列表框中选定文件的当前文件夹名称
- 29. 如何获取持有当前选定文本的小部件的名称? (QTextCharFormat)
- 30. 如何获取用于呈现当前页面的文件的名称?
代码文件对已编译应用程序没有影响。您可以在一个代码文件中拥有一个包含10.000类的应用程序。 – Carsten 2013-04-30 08:28:49
你想要**文件**或**类**的名称吗?它们有着根本性的不同,它们的共同之处仅在于惯例。 – 2013-04-30 08:29:51
@ J.Steen:实际上是类名。 – user2039445 2013-04-30 08:31:40