C#默认参数 [英] C# Default Parameters

查看:173
本文介绍了C#默认参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是,也许有人很简单的答案。我有一个可选参数像这样的方法;

This is, probably, a very simple answer for someone. I have a method with an Optional Parameter like so;

public static Email From(string emailAddress, string name = "")
    {
        var email = new Email();
        email.Message.From = new MailAddress(emailAddress, name);
        return email;
    }

现在,我必须面向.NET 3.5,这是我的理解是可选参数是.NET 4的一部分。但是,我的项目构建和我仔细检查了在属性 - 应用页其中规定3.5作为目标框架。然后我发现MSDN上的文章说这是在VS2010的一个C#4的功能。 ( MSDN文章 - > 命名和可选参数

Now, I must target .Net 3.5 and it was my understanding that Optional Parameters are part of .Net 4. However, my project builds and I double checked the Properties - Application page which states 3.5 as the target framework. Then I found a article on MSDN saying it's a feature of C#4 in VS2010. (MSDN Article --> Named and Optional Arguments)

有人能帮助澄清这一点对我来说。 C#4,不需要.NET4?什么是可选参数实际上的一部分?

Can someone help clarify this for me. C#4 does not require .Net4? What are Optional Parameters ACTUALLY a part of?

感谢您。

推荐答案

可选参数已在支持自1.0 CLR。像VB.Net的语言一直在使用它们自启动。虽然C#的第一个版本,以支持他们的是4.0,它仍然可以产生有效的代码为2.0 CLR,实际上这样做。因此,你可以使用默认参数在2010年,如果你的目标3.5 CLR(或2.0,3.0,等...)

Optional parameters have been supported in the CLR since 1.0. Languages like VB.Net's have been using them since the start. While the first version of C# to support them is 4.0, it can still generate valid code for a 2.0 CLR and in fact does so. Hence you can use default parameters in 2010 if you are targeting the 3.5 CLR (or 2.0, 3.0, etc ...)

这类型的支持并不仅限于默认参数。许多新的C#功能可以在旧版本的框架中使用,因为它们不依赖于CLR的变化。这里有一些更多的这些支持CLR版本2.0及以上

This type of support is not limited to default parameters. Many new C# features can be used on older version of the framework because they do not rely on CLR changes. Here are a few more which are supported on CLR versions 2.0 and above


  • 命名参数:增加C#4.0

  • Lambda表达式:增加C#3.0

  • 自动属性:增加C#3.0

  • 扩展方法:增加C#3.0

  • 联合/孔特拉方差:增加C#4.0

  • Named Arguments: Added C# 4.0
  • Lambda Expressions: Added C# 3.0
  • Auto Properties: Added C# 3.0
  • Extension Methods: Added C# 3.0
  • Co/Contra Variance: Added C# 4.0

这篇关于C#默认参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆