C#4オプションのパラメータ実装はVB.NETと同じですが、オプションパラメータはコールサイトでコンパイルされます(バージョン管理の問題を引き起こす可能性があります)。C#4オプションパラメータ
1
A
答えて
4
Yes。
3
SamNgによると、C#'s default arguments are is compiled at the call siteは、C++のデフォルトパラメータと似ています。
はい、バージョンの問題が発生します。ただし、オプションのパラメータを使用すると意味があります。多くの場合、これはnull
またはデフォルト生成クラスをメソッドまたはコンストラクタに渡すことを意味します。
+0
FIXME:Sam Ngとは誰ですか?彼はM $開発者ですか? – strager
+1
blogs.msdn.comのすべてのブロガーはMSの従業員(多分いくつかはMVPですか?)だと思います。 –
関連する問題
- 1. C#の空のオプションパラメータ
- 2. Web APIのオプションパラメータのマップC#
- 3. オプションパラメータ
- 4. オプションパラメータは
- 5. メソッドのMVCオプションパラメータ
- 6. Springデータクエリメソッドのオプションパラメータ
- 7. オプションパラメータJPA 2.1
- 8. テーブル値オプションパラメータ
- 9. Swift 3オプションパラメータ
- 10. PHPインターフェイスのオプションパラメータ
- 11. Crystal Reportsオプションパラメータ
- 12. ストアドプロシージャのオプションパラメータ
- 13. Fsharpレコードのオプションパラメータ
- 14. Yii2、ルーターのオプションパラメータ
- 15. Javascriptコールバックのオプションパラメータ
- 16. SQLオプションパラメータ - 性能差
- 17. SQL更新オプションパラメータPHP
- 18. オプションパラメータとしてDBNull.Value
- 19. Concrete5:Route :: registerのオプションパラメータ
- 20. カスタム関数のオプションパラメータ
- 21. Microsoft SAL注釈 - オプションパラメータ
- 22. ui-router of angularjsオプションパラメータ
- 23. ABAP CDS VIEWのオプションパラメータ?
- 24. ASP.NET Webサービスのオプションパラメータ
- 25. URLのオプションパラメータ - Slim 3
- 26. C#4.0のオプションパラメータのデフォルト値を指定する
- 27. QT C++関数(文字列のオプションパラメータ付き)
- 28. C#4.0オプションパラメータは、私はそのような実装を持つ
- 29. 多くのオプションパラメータの処理
- 30. Typescriptのオプションパラメータの扱い
これはC#に深刻な弱点を追加します。オプションがコールサイトでオーバーロードではなく実装されているという事実は、オプションのパラメータが変更された場合、相互に構築されていないアセンブリは機能しません。私はそれがなぜ必要なのか分からない。オーバーロードは、同じ機能とメソッドを提供します。シグネチャは不可視に変更されません。 – stevehipwell
デフォルト値は、関数の定義の一部です。それを変更することは、関数の名前を変更することと同じくらい悪いことです。これは、オプションがオプションのパラメータを介して公開されているときのように、デフォルトが過負荷に焼き付けられたときと同じです。 –