c# - 将动态类型传递给抽象覆盖方法
问题描述
我试图将一个扩展抽象类的实例传递给一个名为的方法ActionTick
,但是,我遇到了错误。
这显示了我尝试创建抽象方法的两种不同方式:
public abstract class Action {
// Attempt 1
public abstract bool ActionTick<T>(T action) where T : ActionAttribute;
// Attempt 2
public abstract bool ActionTick(dynamic action);
}
这就是我尝试实现它的方式。MoveTowardsAttribute
延伸ActionAttribute
.
public class MoveTowards : Action {
public override bool ActionTick(MoveTowardsAttribute action) { }
}
使用动态变量时出现以下错误:
“MoveTowards”未实现继承的抽象成员“Action.ActionTick(dynamic)”“MoveTowards.ActionTick(MoveTowardsAttribute)”:找不到合适的方法来覆盖
使用泛型变量时,我只得到一个错误:
'MoveTowards.ActionTick(MoveTowardsAttribute)':找不到合适的方法来覆盖
解决方案
推荐阅读
- angular - 手动刷新页面以查看组件的变化
- c# - Acumatica Mobile: Remove redundant step in navigation
- javascript - Vuex 我的组件对状态变化没有反应
- c - 确定平均测验成绩的程序
- c++ - 为什么`polymorphic_allocator`采用`memory_resource`指针而不是引用?
- python-3.x - if 语句正在打印,即使它不是真的
- batch-file - 如何在一个bat文件中设置变量并发送到另一个?
- nlp - 从文本中删除“PERSON”实体?
- java - 当值具有像':'这样的特殊符号时,如何在spring boot中使用环境变量?
- javascript - 使用 `**` 但忽略与指定名称匹配的目录