今日、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(us と入力し始めると、Intellisense から次のように表示されます。
コンストラクター引数をプルアップしており、コロンで終わっていることに注意してください: userName:
何が起きてる?
編集:
以下で Reed が回答したように、これはNamed and Optional Argumentsと呼ばれる新しい C# 4 機能です。その目的は、パラメーター リスト内の位置ではなく、引数の名前を指定できるようにすることです。そのため、使用するために引数リスト内の引数の位置を覚えておく必要はありません (ただし、これは intellisense ではほとんど意味がありません)。ただし、オプションの引数を使いやすくします。
ありがとうリード。