我是C#的新手,非常抱歉,如果這是一個愚蠢的問題。我從PHP/Java中獲得了這個想法。我正在構建一個小的mvc框架。爲此,我們需要一個控制器。但是我們有多個控制器,如PlayerController,CarController,BombController ....所有這些模型都擴展到Controller類。聲明基類錯誤的類
實施例:
public abstract class Controller
{
public string data;
public Controller(string data) {
this.data = data;
}
}
和:
class BlogsController : Controller
{
public BlogsController(string data) : base(data)
{
}
public void getData()
{
Console.WriteLine(this.data);
}
}
在主I類調用的方法是這樣的:
Controller blogs = new BlogsController("Test");
blogs.getData();
即使模型(BlogModel延伸到模型)我想要這個結構。
但是...我在blogs.getData();
上得到一個錯誤,因爲'Controller'沒有getData方法。 這是真的,但我想從BlogsController調用getData方法(我使用Controller blogs = new BlogsController("Test");
創建)
我在做什麼錯了?我如何使用BlogsController的自定義方法?
感謝您的幫助!
如果您想使用特定於「BlogsController」的任何內容,則需要該類型的引用。 – 2014-09-22 21:21:34
或者將其作爲'abstract'方法添加到抽象類中。一種方式或其他。對Controller的引用將永遠無法訪問派生的方法。 – BradleyDotNET 2014-09-22 21:22:34
@BrianRasmussen我知道,但我給它類型'Controller',因爲'BlogsController''擴展'到'Controller' – Bob 2014-09-22 21:23:02