我有大量从大量接口继承的类。这些类正在实现的接口不共享任何通用方法,但它们都共享一个通用的第一步。一个例子是:
A 类如下所示:
class A : InterfaceA
{
GetFoo(Database db)
{
PerformSetup(db); // This is the common first step.
// Do foo things
}
}
B 类可能看起来像这样:
class B : InterfaceB
{
GetBar(Database db)
{
PerformSetup(db); // This is the common first step.
// Do bar things
}
}
现在显然我可以创建一个带有方法 PerformSetup 的基类,并让所有这些方法调用它。但是我的问题是有很多方法,并且对 PerformSetup() 的调用需要在所有方法中,但还没有在其中任何方法中。
所以我当然可以将设置代码复制粘贴到每个方法的开头,但是为了 DRY 和我自己的时间,我想知道是否有某种方法可以确保在任何方法之前自动调用此方法 (如果可能,仅公开)方法调用?我能以某种方式利用事件吗?再次记住,没有类共享一个公共接口,并且这些接口方法中的许多除了数据库参数之外还有参数,但它们都具有数据库参数。
这可能有点不可思议,但我总是很想知道人们能够在 C# 中安装哪些疯狂的装置。