C#4 で導入されたオプションのパラメーターが下位互換性があるかどうかを知りたいです。
簡単な例で私の質問を明確にしましょう。VS2010 の .Net2 で C#4 で次のコードを記述したとします。
public void Foo(int val1, int val2, int val3 = 5){ .... }
コードをコンパイルし、dll を作成して、それを .Net2 上の C#2 / C#3 プロジェクトに参照します。コード エディター (VS2010 以外、たとえば VS2008) では、インテリセンスで何が表示されますか?
次のような 2 つのオーバーロードされたメソッド:
public void Foo(int val1, int val2) public void Foo(int val1, int val2, int val3)
他のようなもの:
public void Foo(int val1, int val2, int val3) public void Foo(int val1, int val2, int val3 = 5) //VS2008 is not supposed to show this
C#2 プロジェクトで C#4 メソッドを呼び出すにはどうすればよいですか?