私はWindowsフォームプロジェクトにdllファイルを含めました。 1.特定のクラスを完全に上書きすることはできますか? 2. dllファイル内の特定のクラスに新しいメソッドを追加することはできますか? 3. dllのクラスのメソッドをオーバーライドすることはできますか?dllファイルのクラス内のメソッドをオーバーライドすることはできますか?
代わりに避けたい: 私は静的な新しいメソッドを作成するために拡張メソッドを使うことができます。 また、特定のクラスを継承し、派生クラスに新しいメソッドを追加することもできます。
私が達成しようとしているもの: 私は今すぐプロジェクトを作成し、dllファイルとして大きなプロジェクトに追加する必要があります。 しかし、来月は元のプロジェクトにさらに機能を追加する必要があると言われています。私はこれについて最善の方法を理解しようとしています。 小さなプロジェクトはmvcデザインに基づいています。
オーバーライドまたはインターセプト? –
よくメソッド呼び出しをインターセプトする方法がある場合は、代替メソッドを実行し、元の呼び出しメソッドに値を返します。次に、どのようにしたらよいか知りたいです。 –
どのクラスを上書きしようとしていますか?それがNamespace1.dllのNamespace1.Class1クラスであれば、Namespace1.Class1を一から書き直してNamespace1.dllをドロップし、リフレクションを使用して他の呼び出しを傍受し、バックエンドに渡します。 – maxwellb