我有一個很好的接口,並且我想在基類中實現它的一個成員,這樣客戶端可以從基類派生並且具有較少的鍋爐板來編寫。但是,即使聲明爲抽象,編譯器也會抱怨類沒有實現接口?!?這應該怎麼做?C#編譯器抱怨抽象類沒有實現接口?
代碼的問題:
public interface ITaskDefinition
{
ITask CreateTask(TaskId id);
string Name { get; }
bool HasName { get; }
}
public abstract class TaskDefinitionBase : ITaskDefinition
{
private string name_ = null;
public void SetName(string name)
{
name_ = name;
}
public string Name
{
get
{
return name_;
}
}
public bool HasName
{
get
{
return name_ != null;
}
}
}
,我得到的錯誤是:
ITaskDefinition.cs(15,27): error CS0535: 'NetWork.Task.TaskDefinitionBase' does not implement interface member 'NetWork.Task.ITaskDefinition.CreateTask(NetWork.Task.TaskId)'
有一個小竅門 - 點擊ITaskDefinition在抽象類,然後按CTRL +。將爲您解決這個問題。 – RichardOD 2009-11-09 12:50:19