今天我的 Resharper 5 副本中发生了一些奇怪的事情。我有一个看起来像这样的类:
public class Foo
{
public string Username { get; private set; }
public Foo (string userName) { Username = userName; }
public void Bar()
{
DoWork(Username);
}
public void DoWork(string userName) { }
}
当我开始输入 DoWork(我们从智能感知得到以下信息时:
请注意,它正在提取构造函数参数,并以冒号结尾:userName:
这里发生了什么?
编辑:
正如 Reed 在下面回答的那样,这是一个名为Named and Optional Arguments的新 C# 4 功能。它的目的是允许您指定参数的名称,而不是它在参数列表中的位置。所以你不必记住参数在参数列表中的位置来使用它(尽管这对于智能感知来说基本上没有意义)。它确实使可选参数更易于使用。
谢谢里德。