c# - Debug.WriteLine 重载似乎有冲突

标签 c# .net overloading

在 C#.Net 中,System.Diagnostics.Debug.WriteLine 有几个重载,包括这两个:

//http://msdn.microsoft.com/en-us/library/cc190153.aspx
public static void WriteLine(string format, params Object[] args);

//http://msdn.microsoft.com/en-us/library/1w33ay0x.aspx
public static void WriteLine(string message, string category);

我的意图是调用第一个:

Debug.WriteLine("The path is {0}", myObj.myPath);

但看起来我实际上是在调用第二个重载,因为它是更精确的匹配。

有没有一种简单的方法来表明我想要第一个?

到目前为止我最好的尝试是:

Debug.WriteLine("The path is {0}", new object[]{myObj.myPath});
Debug.WriteLine("The path is {0}", myObj.myPath, "");

但这两个看起来都不是很优雅。

最佳答案

试试这个:

Debug.WriteLine("The path is {0}", (object)myObj.myPath);

关于c# - Debug.WriteLine 重载似乎有冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18190388/

相关文章:

c# - XAML 中的公共(public)静态控件

c# - 远程调试asp.net

c# - 如何获取堆栈框架的执行对象?

c# - System.IdentityModel.Selectors.UserNamePasswordValidator 不存在

Java 类有 2 个函数签名相同但返回类型不同的方法

c++ - 具有非模板类型参数的模板函数的重载解析

c++ - 强制调用 "highest"重载函数而不是基函数

c# - 将通用列表传递给 ObservableCollection 构造函数

c# - 在 C# 程序集中的何处存储敏感数据?

c# - 将查询语法中的 LINQ 转换为 lambda 语法