我有一个使用async/await
功能的.NET 4.5项目。
当我尝试在await语句之后检查/快速监视变量引用时,我得到以下结果:
The name 'id' does not exist in the current context
知道如何解决这个问题,以便我可以调试吗?
编辑 - 这是代码
[Fact]
public async Task works_as_expected()
{
var repo = Config.Ioc.GetInstance<IAsyncRepository<Customer>>();
var work = Config.Ioc.GetInstance<IUnitOfWork>();
Customer c= new Customer()
{
FirstName = "__Micah",
LastName = "__Smith_test",
DateCreated = DateTime.Now,
DateModified = DateTime.Now,
Email = "m@m.com",
Phone = "7245551212"
};
var id=await repo.Insert(c);
// i can't inspect the value of id
Assert.True(id > 0);
}
答案 0 :(得分:-2)
该变量尚不存在,因此无法检查它的值。它还没有价值。
技术上,在您到达定义它的代码行之前,它不会被定义,并且在您初始化它之前它将没有值。虽然在某些情况下可以在技术上检查变量的值,但在代码中(在不安全的代码之外)永远无法访问该值,因此没有理由去查看它。
关于何时将分配该位置的内存(在调试器中首次可以选择查看它),这将在您到达最后await
之后的第一行之后使用变量。