私はそのようなものを持っています。
internal virtual Draw() { ... }
コンパイルされたアセンブリで。このクラスから派生したクラスがあります。明らかに、その特定のアセンブリの外にいるため、このメソッドをオーバーライドしたり、呼び出したりすることはできません。
自分のアセンブリからは「見えない」ので、このメソッドを非表示にすることはできますか?
この動作を変更して、このメソッドが呼び出されないようにしたり、ルートを変更したりする方法はありませんか?
私はそのようなものを持っています。
internal virtual Draw() { ... }
コンパイルされたアセンブリで。このクラスから派生したクラスがあります。明らかに、その特定のアセンブリの外にいるため、このメソッドをオーバーライドしたり、呼び出したりすることはできません。
自分のアセンブリからは「見えない」ので、このメソッドを非表示にすることはできますか?
この動作を変更して、このメソッドが呼び出されないようにしたり、ルートを変更したりする方法はありませんか?
まず、あなたのメソッドがprotected internal
ではなく であることを意味していると思いますがpublic internal
、これは有効なメソッド シグネチャではありません。
メソッドの非表示について、コンパイルされたライブラリのソース コードにアクセスできる場合は、protected
派生型のみがメソッドをオーバーライドできるように、アセンブリ内のみとしてリファクタリングできます。
しかし、それを「隠す」ことは意味がありません。アセンブリ自体の外部の誰も(とにかくサードパーティであると言います)、それを呼び出したりオーバーライドしたりできないため、それを行う意味がありません。