使用输入参数重命名返回 void 的现有方法
Rename existing method returning void with input arguments
也许这很愚蠢,但我正在尝试缩短方法 StreamWriter.WriteLine
的调用,因为我必须在我的代码中多次调用它。所以,而不是调用 myFile.WriteLine()
我只想写 myFile.WL()
.
这可能吗?
在寻找解决方案后,我写了这个:
private static void WL(this StreamWriter myFile, params string myString)
{
return (void)myFile.WriteLine(myString);
}
但我收到错误
Cannot convert type 'void' to 'void'
有什么想法吗?
你的Extension method
应该只是
private static void WL(this StreamWriter myFile, params string myString)
{
myFile.WriteLine(myString);
}
原因:
WriteLine
StreamWriter 的方法没有 return 任何东西,即无效。它只和我引用Writes a string followed by a line terminator to the text string or stream
。所以你应该从方法中删除 return 关键字。阅读 here.
顺便说一句,扩展方法可能应该是 public 如果你想在你定义它的 class 之外使用它。
不需要扩展方法,只是为了完整起见...
从您的方法中删除 return
语句,因为它不需要 return 任何内容。
private static void WL(this StreamWriter myFile, params string myString)
{
myFile.WriteLine(myString);
}
但是,请重新考虑您正在尝试做的事情。将 WriteLine
缩短为 WL
没有任何意义,它没有任何作用,它会使代码 可读性降低 ,你也会 无法掩盖全部overloads。
也许这很愚蠢,但我正在尝试缩短方法 StreamWriter.WriteLine
的调用,因为我必须在我的代码中多次调用它。所以,而不是调用 myFile.WriteLine()
我只想写 myFile.WL()
.
这可能吗?
在寻找解决方案后,我写了这个:
private static void WL(this StreamWriter myFile, params string myString)
{
return (void)myFile.WriteLine(myString);
}
但我收到错误
Cannot convert type 'void' to 'void'
有什么想法吗?
你的Extension method
应该只是
private static void WL(this StreamWriter myFile, params string myString)
{
myFile.WriteLine(myString);
}
原因:
WriteLine
StreamWriter 的方法没有 return 任何东西,即无效。它只和我引用Writes a string followed by a line terminator to the text string or stream
。所以你应该从方法中删除 return 关键字。阅读 here.
顺便说一句,扩展方法可能应该是 public 如果你想在你定义它的 class 之外使用它。
不需要扩展方法,只是为了完整起见...
从您的方法中删除 return
语句,因为它不需要 return 任何内容。
private static void WL(this StreamWriter myFile, params string myString)
{
myFile.WriteLine(myString);
}
但是,请重新考虑您正在尝试做的事情。将 WriteLine
缩短为 WL
没有任何意义,它没有任何作用,它会使代码 可读性降低 ,你也会 无法掩盖全部overloads。