gpt4 book ai didi

C# 编译器提示抽象类没有实现接口(interface)?

转载 作者:IT王子 更新时间:2023-10-29 04:12:43 24 4
gpt4 key购买 nike

我有一个很好的接口(interface),我想在一个基类中实现它的一个成员,这样客户就可以从基类派生并且可以编写更少的样板。但是,即使声明为抽象,编译器也会提示该类未实现接口(interface)?!?这应该如何完成?

有问题的代码:

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)'

最佳答案

您必须添加方法的抽象 stub :

public abstract ITask CreateTask(TaskId id);

然后继承者可以覆盖它来实现接口(interface)。

关于C# 编译器提示抽象类没有实现接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1700783/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com