Zac*_*h W 2 c# optional-parameters
在提供的示例中,函数声明PrintBar抛出错误,因为_bar不是编译时常量。避免此问题的最佳做法是什么?
using System;
class Foo
{
private readonly string _bar;
public Foo(string initBar)
{
_bar = initBar;
}
public void PrintBar(string value = _bar)
{
Console.WriteLine(value);
}
}
Run Code Online (Sandbox Code Playgroud)
我建议超载,尤其是。如果德米特里的解决方案(用作null默认值,然后在通过_bar时进行分配null)不是出路(当null可以很好地作为有效输入传递时):
public void PrintBar(string value)
{
Console.WriteLine(value);
}
public void PrintBar() => PrintBar(_bar);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
268 次 |
| 最近记录: |