【问题标题】:"Is a field but used like a Type" C# Error“是一个字段,但用作类型”C# 错误
【发布时间】:2013-09-11 22:48:31
【问题描述】:

我正在尝试使用 ProcessStartInfo 类对象来运行命令。这就是我调用运行进程的方式。当我尝试将 UseShellExecute 设置为 False 时,我收到一个错误,上面写着 startInfo 是一个归档但像 Type 一样使用?我读了另一个答案,说这应该作为构造函数添加,但仍然显示错误。谁能给我关于这意味着什么的建议?

   ProcessStartInfo startInfo = new ProcessStartInfo(NETDOM_EXE,args);
   **startInfo.UseShellExecute = false;** // ERROR_LINE
   Process p = Process.Start(startInfo);

        if (!p.WaitForExit(120))
        {
            p.Kill();                
        }

        int exitCode = p.ExitCode;
        if (exitCode != 0)
        {
           Console.WriteLine("Exit Code: " + exitCode);
        } 

【问题讨论】:

  • 代码看起来没问题,是NETDOM_EXE和args字符串吗?
  • 是的,NETDOM_EXE 是“netdom.exe”,args 是以这种格式为 netdom 生成命令行 args -technet.microsoft.com/en-us/library/cc788049.aspx
  • 只是检查,但您的代码是否在方法中?当您的代码在方法之外时,您可能会收到此错误。
  • 这是由 Intellisense 显示的。我得到的错误是“ConsoleApplication2.Program.startInfo 是一个‘字段’,但像‘类型’一样使用”
  • @Learner 这意味着您已将该代码直接放在 Program 类声明中,而不是将其放在类的方法中。

标签: c# .net powershell


【解决方案1】:

将该代码放入您的 static void Main(...) 方法中,看看是否能消除编译器错误。

【讨论】:

    【解决方案2】:

    如果代码不在方法内,您将收到该错误。

    为了让它在启动时运行,您要么需要static void Main() 中的代码,要么使用static void Main() 中的代码调用方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-23
      相关资源
      最近更新 更多