2010-12-16 14 views
2

可能性の重複:
Why const parameters are not allowed in C#にはC++のconstのようなものがありますか?

私はC++開発者と私はC#を使用していくつかの経験を持っていました。

このようなものは、C#ではありませんなぜ私はいつも疑問に思っている:

bool MyFunction(const AnotherClass& x) 
{ 
    //some stuff 
} 

を私は個人的に(それはカプセル化とデカップリングを高めるために、開発者を支援)const性はC++での最高の機能の一つだと思います。 Sutter(C++のコーディング標準:101 Rules、Guidelines、Best Practices)の提案の1つはハンドラを返すことはありません。const参照を渡すことができない場合、ハンドラだけでなくクラス全体を渡しています。

C#に関する知識が不足していませんか? C#にはそういうことがありますか?そうでない場合、なぜC#はそれを使用していないのですか?

+0

constの正確さは、カプセル化またはデカップリングと何が関係していますか? – Mud

+0

私はC++のエキスパートではありませんが、C#の 'bool MyFunction(AnotherClass x)'ではないのですか? – SWeko

+3

C#は柔軟性と保守性を犠牲にして簡単にしようとする限定された言語であるため、「なぜ...」ですか? – ybungalobill

答えて

2

を機能は、C#で利用できないこと。コピーを渡すことができます。 オブジェクトを読み取り専用アダプターにラップするか、または不変オブジェクト/構造体への参照を渡すことができます。

関連する問題