1
我有兩個類實現了相同的靜態方法像下面,我可以使用IoC模式實現以下目標
Class A
{
static OpB();
}
Class B
{
static OpB();
}
我可以使用IoC模式ClassA和ClassB的使用配置切換? 或任何解決方法或建議?
我有兩個類實現了相同的靜態方法像下面,我可以使用IoC模式實現以下目標
Class A
{
static OpB();
}
Class B
{
static OpB();
}
我可以使用IoC模式ClassA和ClassB的使用配置切換? 或任何解決方法或建議?
IoC模式幾乎禁止您使用靜態方法,因爲它着重於創建類型爲(服務)的實例的。靜態方法不是實例方法,所以IoC容器會給你一個實例,但你不能在實例上調用靜態方法。
如果可以在OpB()方法中刪除靜態限定符,那麼您可以使用IoC來執行所需的操作。
如果刪除靜態,它將打破現有的代碼 – user496949 2011-01-20 23:24:56
您無法使用靜態方法切換類。使它們與實例相關,並讓這兩個類從相同的接口或類派生。如果方法名稱和參數相同,則可以使用反射根據某些配置調用不同類的靜態方法。 – 2011-01-20 11:08:51