簡體   English   中英

Class inheritance,將 object 返回到派生的 class

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM