ターゲットフレームワークがバージョン3.5のアプリケーションを開発しています。しかし、コードを見て、私はデフォルトのパラメータを使用してメソッドを見つけた:C#バージョンの互換性
public void Contact(string name, string email, string phone, string phoneAreaCode = "")
{
//...
}
となってしまった。
言語機能はフレームワークのバージョンに依存しません。両方の関係は何ですか?そして、なぜこれが上記のコードですか?
EDIT:私はVS2010で2つのプロジェクト(クラスライブラリとコンソール)を作成しました。どちらも.NET 2.0 Frameworkをタグ付けしています。クラスライブラリでは、オプションの文字列パラメータを使用してメソッドを作成しました。私は問題なしで、パラメータを渡すかどうかにかかわらず、コンソールアプリケーションでそれを使用しました。これはVS2010と関係がありますか?そして、 "VS2010"とは、C#コンパイラ4.0を意味しますか?
Visual Studio 2008/2010で.NET 2を対象とする場合、C#3の自動プロパティを使用できることにも注意してください。 – RichardOD