我该怎么做?
public abstract class A {
protected abstract async Task foo(int a);
protected async Task bar(int a) {
await foo(a);
}
}
public class B : A {
public async Task foo(int a) {
return a + 1;
}
}
基本上,我想在抽象类中声明一个没有主体的异步函数,在抽象类中也要有另一个函数,就像使用它一样存在。但是,请在实现抽象类的类中使用主体定义该函数。
请注意:我的代码中的foo
中包含使用等待的内容,因此它必须是异步的。
这可能吗?
答案 0 :(得分:0)
请勿在抽象类中输入progBar
nameTitle: NAME 2
。只要它返回card
,您仍然可以使用card
实现来覆盖它。
您需要考虑的其他事项:
foo
的{{1}}函数上使用async
关键字Task
答案 1 :(得分:-2)
您缺少覆盖关键字:
public abstract class A {
public abstract Task<int> foo(int a);
protected async Task bar(int a) {
await foo(a);
}
}
public class B : A {
public override async Task<int> foo(int a) {
return a + 1;
}
}