我正在尝试修改我的日志库。这是我卡住的地方。我使用枚举,我们称之为 ActionType,来识别我的操作,如 UserLogin、PurchaseOrder ......数百个。我在我的记录器方法中使用这种类型。但是由于我为了松散耦合而将我的记录器库与我的项目特定代码分开,并且基础库无法访问项目中定义的 ActionType,我该如何实现这一点。为了澄清它,让我解释一下java中的相同情况。Java 允许枚举实现接口。所以我可以写:
在基本记录器库中,我可以定义;
public interface IActionType {}
在我的几个项目之一中
public enum ActionType implements IActionType {UserLogin, PurchaseOrder, .....}
所以当我调用我的 logger.log(ActionType.UserLogin, ....)
基础库时会得到底层的操作。这一切就足够了。无论如何,它周围有没有在 c# 中完成这个?顺便说一句,我考虑过使用 IoC 容器,但我想要更优雅的东西。
非常感谢您的帮助...