ログ ライブラリを修正しようとしています。ここが私が立ち往生している場所です。UserLogin、PurchaseOrder などの何百もの操作を識別するために、列挙型 (ActionType と呼びましょう) を使用します。そして、ロガー メソッドでこの型を使用します。しかし、疎結合のためにプロジェクト固有のコードからロガー ライブラリを分離していて、ベース ライブラリがプロジェクトで定義された ActionType にアクセスできないため、どうすればこれを達成できますか。それを明確にするために、Javaで同じケースを説明しましょう。Java では、列挙型でインターフェイスを実装できます。だから私は書くことができます:
基本ロガー ライブラリで定義できます。
public interface IActionType {}
そして私のいくつかのプロジェクトの1つで
public enum ActionType implements IActionType {UserLogin, PurchaseOrder, .....}
したがって、 logger.log(ActionType.UserLogin, ....)
ベース ライブラリを呼び出すと、基になるアクションが取得されます。これで十分でしょう。C#でこれを達成するためにとにかくそれの周りにありますか? ところで、IoC コンテナの使用も検討しましたが、もっとエレガントなものが欲しいです。
助けてくれてありがとう...