我很想知道在C#4中引入的可選參數是否向後兼容?C#4中的可選參數是否向後兼容?
讓我用一個簡單的例子來說明我的問題。假設我寫在C#4下面的代碼放在.NET2在VS2010:
public void Foo(int val1, int val2, int val3 = 5){ .... }
現在我編譯的代碼,做一個DLL,它引用到.NET2一個C#2/C#3的項目。在代碼編輯器中(VS2010除外,比如說VS2008),我會在intellisense中看到什麼?
兩個重載的方法,如:
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方法?
非常感謝。它澄清了我的問題。謝謝。 – 2010-07-14 03:38:35