相关疑难解决方法(0)

静态构造函数如何工作?

namespace MyNameSpace
{
    static class MyClass
    {
        static MyClass()
        {
            //Authentication process.. User needs to enter password
        }

        public static void MyMethod()
        {
            //Depends on successful completion of constructor
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            MyClass.MyMethod();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我假设的顺序

  1. 静态构造函数的开始
  2. 静态构造函数的结束
  3. 主要开始
  4. MyMethod的开始
  5. 主要结束

现在在任何情况下,如果4将在2之前开始,我被搞砸了.可能吗?

c# static-constructor c#-4.0

80
推荐指数
4
解决办法
8721
查看次数

将C#中的调试器附加到另一个进程

我希望能够自动附加一个调试器,例如: System.Diagnostics.Debugger.Launch(),除了当前进程到另一个命名进程.我有一个进程名称和PID来识别其他进程.

这可能吗?

c# debugging

18
推荐指数
3
解决办法
2万
查看次数

如何检测"按任意键继续...".会显示吗?

在Visual Studio中运行控制台应用程序时,根据您的设置,它将在程序退出后添加提示:

按任意键继续 ...

我已经找到了如何检测我是否在调试器(使用Debugger.IsAttached)下运行,但它没有帮助.按CTRL-F5不开始调试设置该标志false,但仍显示提示.

我想检测这个,因为我想显示我自己的消息并等待按键,但不要加倍按键检查.

我不想破坏我的一般Visual Studio设置.如果我可以以可以检查到源代码管理的方式为此项目禁用它,那也可以.

使用什么机制来附加此提示,以及如何检测它?

或者如何为每个项目禁用它,并将此更改检查为源代码管理?

ide console-application visual-studio visual-studio-debugging

10
推荐指数
1
解决办法
2959
查看次数