【发布时间】:2012-10-16 20:14:16
【问题描述】:
在 Windows 7 x64 上的 VS2012 中使用代码合同 1.4.51019.0 时,我从 ccrewrite 收到以下编译错误:“方法或操作未实现。”
这似乎是由属性访问器和使用缺少内部 await 的 async 方法的组合引起的。
复制步骤:
创建一个启用“完整”运行时合同检查的新类库:
namespace CodeContractsAsyncBug
{
using System.Threading.Tasks;
public class Service
{
// Offending method!
public async Task ProcessAsync(Entity entity)
{
var flag = entity.Flag;
}
}
public class Entity
{
public bool Flag { get; set; }
}
}
有其他人经历过吗?
【问题讨论】:
-
删除“异步”修饰符可以解决问题,我想?
-
是的(除非您需要返回一个任务)。
-
这是 Mike Barnett 的项目。他喜欢收到电子邮件,所以不要犹豫就这个错误向他发送电子邮件。 mbarnett at microsoft dot com
标签: c# .net-4.5 code-contracts async-await c#-5.0