【发布时间】:2010-07-13 20:11:00
【问题描述】:
我很想知道C#4中引入的可选参数是否向后兼容?
让我用一个简单的例子来澄清我的问题。假设我在 VS2010 的 .Net2 上用 C#4 编写以下代码:
public void Foo(int val1, int val2, int val3 = 5){ .... }
现在我编译了代码,制作了一个 dll 并将其引用到 .Net2 上的 C#2 / C#3 项目。在代码编辑器中(除了 VS2010,比如 VS2008)我会在智能感知中看到什么?
-
两个重载方法,如:
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 方法?
【问题讨论】:
标签: c# .net visual-studio-2008 visual-studio-2010 optional-parameters