いくつかのパブリックプロパティやメソッドを持つクラスを継承しますが、それらをクラスのパブリックプロパティやメソッドにすることは望ましくありません。それらのプロパティはクラスのプロパティを保護しました。継承されたプロパティへのアクセスを制限するC#
これを達成できますか?
私は十分にはっきりしていなかったと思いますが、私に知らせてください、自分自身をより良く説明しようとします。
EDIT:
右、しかし私は、私は十分に明確だったとは思わないの回答ありがとうございました。私が達成しようとしているのは次のとおりです。
ListViewコントロールを拡張するWindowsコントロールを作成しました。 ListViewにはパブリックコレクションItemsがあり、これを変更できます。それはすべて問題ありませんが、私は必要な余分なデータのためにリストビューにアイテムを追加する新しいメソッドを書いています。
これまでのところうまくいきましたが、項目コレクションを直接操作して項目を追加すると、必要なすべてのデータが収集されるわけではないので、項目コレクションは何かによって変更される可能性があります。エラー。
異なるプロジェクトでこのコントロールを何度も再利用したいので、遅かれ早かれ、Itemsコレクションにアイテムを追加するデフォルトの方法が使用されることになります(本当に時間がかかります)。 Itemsコレクションのサイズが大きくなったときに例外をスローするなど、意図したとおりに、そのようなことを防ぐ方法を探しています。
これはすべて今、意味があることを願っています。
+1;キャストを介して元のアイテムにアクセスすることは可能です。しかし、私はあなたがListViewを含むUserControlを使用せずに得ることが最良だと思う(さらに悪い問題を解決する)。 – mmmmmmmm