1

一部のコンポーネント/コントロールが、アクセス修飾子 Friend で宣言されているのに対し、Protected で宣言されている場合、子フォームで視覚的に継承されないのはなぜですか。

たとえば、最初は「フレンド」だった親フォームに DataSet オブジェクトがあります (フォームにドラッグ アンド ドロップしたため、デザイナー ビューでコントロールとして表示されました)。期待どおりにコントロールを継承しませんでした。「保護」に変更すると、期待どおりに子フォームに表示されました。

Protected によって子フォームが継承されたコントロールを変更できることは承知していますが、これは上記の問題とどのように関連しているのでしょうか?

4

1 に答える 1

1

これは、基本フォームが宣言されているアセンブリによって異なります。それが派生フォームが存在するアセンブリとは別のアセンブリである場合、Friendは機能できません。フレンドと宣言されたメンバーは、同じアセンブリ内でのみアクセスできます。

ここでは、適切なアクセス修飾子が保護されています。これにより、派生フォームがどのアセンブリで宣言されているかは問題になりません。また、派生フォームクラスのみがデータセットにアクセスできるようにします。

于 2010-06-18T18:51:15.957 に答える