[英]Class inheritance, return object to a derived class
以下是以下接口類。 我在試圖弄清楚如何正確編寫時偶然發現:SetObject 方法。 這是我想要實現的目標:
A) ITest 正在從 IoC 容器中注入。 這就是為什么我需要訪問允許我設置 object (SetObject) 的方法
B)在 class:“測試”中,我想創建 object 的:“IOtherInterface”。 只有 class 測試知道該怎么做,但是我不想“直接”指出必須分配 object 的位置,因為它現在是:
dataObject = new ObjectBuilder(userName);
我正在尋找這樣的東西:
public virtual IOtherInterface SetObject(string userName)
我想抽象 class 將結果類型分配給:“dataObject” Morover 我想避免在抽象 class 中使用相同的輸入參數編寫兩個方法。 一個調用 SetObject,另一個調用 object 創建(並且必須為 Test class 傳遞相同的參數來創建對象)。
public interface ITest
{
void SetObject(string userName);
}
public abstract class TestAbstract : ITest
{
protected IOtherInterface dataObject;
public TestAbstract()
{
}
public virtual void SetObject(string userName)
{
throw new NotImplementedException();
}
}
public class Test: TestAbstract
{
public Test () : base()
{
}
public override void SetObject(string userName)
{
dataObject = new ObjectBuilder(userName);
}
}
您可以嘗試使用以下內容:
public interface ITest
{
IOtherInterface SetObject(string userName);
}
並在Test
class 中實現它,無需創建抽象中介
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.