2009-05-04 14 views
2

Console.In、Console.OutおよびConsole.Errorプロパティが読み取り専用である理由は誰にも分かりますか?マイクロソフトでは誰も変更するつもりはないが、関連するConsole.SetIn()、Console.SetOut()およびConsole.SetError()メソッドが含まれているため、なぜConsole.Inut&Console.Errorプロパティの読み込み専用コンソールですか?

正当な理由があったのでしょうか、まったく間違っていましたか?

+0

面白いですが、Javaはまったく同じです。 System。{in、out、err}は最終的ですが、{In、Out、Err}メソッドがネイティブコードを掘り起こして変更します。どちらが最初に来たのだろうか? –

答えて

1

Set*のメソッドにはHostProtectionAttributeが適用されている可能性があります。プロパティのセッター部分だけに属性を適用できるかどうかはわかりません。それは確かに私がしなければならなかった何かであり、実際にはHostProtectionAttribute自体はそれの外観によってプロパティに適用することはできません。

+0

それは私にとって論理的な答えのように聞こえる。しかし、愚かな質問です。プロパティで呼び出されたプライベートメソッドに属性を適用できませんでしたか?それともうまくいかないでしょうか? – senfo

+0

属性をプライベートメソッドに適用した場合、ドキュメントにはほとんど明確な方法で広告されません。また、あなたが呼び出していることを知るという点で他の意味があるかもしれません。 (私は、HostProtectionについて十分に知識がありません。 –

関連する問題