我創建了一個基本模板程序,幫助我瞭解接口,類和類。無法從Main中調用繼承類的方法
我想實現的只是調用駐留在繼承的類層次結構中的方法。
我收到此錯誤:
'Book' does not contain a definition for 'BulkOrder' and no extension method for 'BulkOrder' accepting a first argument of type 'Book' could be found(are you missing a using directive or an assembly reference?)
這是主程序
Main
{
BulkBook book2 = new BulkBook(FILLER);
BulkOrder(book2);
}
public static void BulkOrder(Book book2)
{
Console.WriteLine(Filler text);
book2.BulkOrder(); <------- belongs in inherited class
}
這是繼承的類結構
abstract class Publication
various code
class Book : Publication
various code
class BulkBook : Book
various code
public void BulkOrder() <------ method
{
Copies = Copies + BATCH_SIZE;
}
感謝邁克,修復它。鑄造是我們的講師不告訴我們的東西,這是相當令人沮喪的,我每年支付7800英鎊,並且鑄造沒有進入課程材料 –
我認爲鑄造僅在涉及變量數據類型時才使用? –
在你的主要方法中工作的原因是你的主要方法「知道」你的對象是繼承類型'BulkBook'。然而,當你將它傳遞給方法(接受基本類型'Book')時,它只是在指定之前對它沒有更多的瞭解。 – MikeH