我想從另一個類繼承一個類,標記爲抽象類,沒有定義任何構造函數。繼承無任何構造函數的抽象類
這是我的代碼:
// In one assembly (TheMessage.dll), as seen via F12 in VS (from Metadata)
namespace Namespace1
{
public abstract class Message
{
public string Body { get; set; }
// some abstract methods here, not shown.
}
}
// In another assembly (TheUser.dll)
namespace Namespace2
{
public class MyMessage : Namespace1.Message
{
public MyMessage()
{
}
}
}
的問題是,在public MyMessage()
構造我得到的錯誤
The type 'Namespace1.Message' has no constructors defined
我在MSDN網站(abstract (C# Reference)第一例),看到繼承抽象類沒有構造函數是可能的。那麼,有人知道我爲什麼會得到這個錯誤?
時注意類型是在同一個DLL作爲Message類和它的作品作爲裝配暴露了一些其他類型的Namespace1.Message
類似於派生來下面是一個可以繼承就好了:
// The same assembly as Message (TheMessage.dll), as seen via F12 in VS (from Metadata)
namespace Namespace3
{
public class Message : Namespace1.Message
{
public Message() {}
public Message(string to) {}
}
}
我我們也檢查了The type '...' has no constructors defined,但它沒有提到繼承,而只是提出了一個實例,我顯然沒有直接實例化抽象類的實例。
你確定它沒有內部構造函數嗎? '消息'是你自己的代碼嗎?見[這個問題](http://stackoverflow.com/questions/6958358/the-type-has-no-constructors-defined)。另外,您發佈的代碼無效,正如@xxMUROxx指出的那樣。 –
最後三種方法應該有修飾符'abstract' –
這不是實際的代碼,所以很難說出了什麼問題...... –