9

機能を使用している .NET 4.5 プロジェクトがありasync/awaitます。

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);
    }
4

1 に答える 1

-2

その変数はまだ存在しないため、その値を調べる方法はありません。値はありません (まだ)。

技術的には、それを定義するコード行に到達するまで定義されず、初期化するまで値がありません。場合によっては、変数が割り当てられる前に変数の値を技術的に調べることができますが、その値は (安全でないコードの外部で) コード内でアクセスできないため、調べる理由はほとんどありません。

その場所のメモリがいつ割り当てられるか (これは、デバッガで最初にそれを見るオプションがあるときです) はawait、変数が使用される前の最後の行の後に最初の行に到達した後です。

于 2013-02-27T15:45:09.327 に答える