2012-03-15 17 views
0

私は私がConnectionstringReadonlyで取得そのためConfigurationManager.ConnectionStrings.IsReadOnly();ConfigurationManager.ConnectionStrings.IsReadOnly();をオーバーライドする方法。

を上書きしたいです。実行時にそれを編集しようとしたとき

ConnectionStringSettings connectionStringSettingInstance = 
          new ConnectionStringSettings(connectionName, 
                 ConnectionStringBuilded, 
                 ConnectionProvider); 
ConfigurationManager.ConnectionStrings.Add(connectionStringSettingInstance); 

答えて

2

あなたはすべてが混乱しています。

読み取り専用のコレクションは、何を試みても読み取り専用のままです。
これはスイッチではなく、定義です。

さらに、そのコレクションは、App.configファイルから来て、それが物理的であるので、あなたはそのコレクションに動的に追加することはできません。実際に物理的にApp.configファイルに書き込まれ、実行時のConfigurationManager静的クラスに表示され、すべてを

これは理論ですが、実際にはyou can cheat this by using reflectionです。

だから、すべての希望は失われません。しかし、あなたが何かをすることを意図していないフレームワークを打ち明けるようになると、デザインを再考する時が来ます。

+0

あなたの短くて甘い説明のために感謝の気持ちです.. – user824910

+0

...またはあなたは[これ](http://stackoverflow.com/a/8796252/58961)、それは反射を伴わない。 –

関連する問題