在 Windows 7 x64 上的 VS2012 中使用 Code Contracts 1.4.51019.0 时,我从 ccrewrite 收到以下编译错误:“方法或操作未实现。”
它似乎是由属性访问器的组合和使用async
缺少内部的方法引起的await
。
复制步骤:
创建一个启用了“完整”运行时合同检查的新类库:
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; }
}
}
有没有其他人经历过这个?