6

この短いコンソール アプリ コードを検討してください。

static void Main(string[] args)
{
    try
    {
        Action a = () =>
        {
            throw new ApplicationException("Oops");
        };

        var ar = a.BeginInvoke(null, null);
        ar.AsyncWaitHandle.WaitOne();
        try
        {
            a.EndInvoke(ar);
            Console.WriteLine("No message");
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
    }
    finally
    {
        Console.ReadKey();
    }
}

Visual Studio を実行するthrowと、未処理であるという不平が表示されて中断します。デバッガーの外で実行すると、コードは期待どおりに動作します (「おっと」と表示されます)。

Visual Studio を納得させて、現実世界と同じようにコードを実行できるようにするにはどうすればよいですか?

4

1 に答える 1

2

DebuggerNonUserCode 属性をメソッドに適用して、デバッガーから非表示にすることができます。

于 2011-10-07T09:25:43.227 に答える