c# - 非静态字段、方法或属性需要对象引用

标签 c# java .net

我在 C# NET 中编写了一个非常小的函数来启动 Java 应用程序,但出现错误“非静态字段、方法或属性‘MinecraftDaemon.Program.LaunchMinecraft()’需要对象引用” C:\Users\Mike\Desktop\Minecraft\MinecraftDaemon\Program.cs”。我搜索了其他遇到相同问题的线程,但我不明白这意味着什么或为什么我得到它。

namespace MinecraftDaemon
{
    class Program
    {
        public void LaunchMinecraft()
        {
            ProcessStartInfo processInfo = new ProcessStartInfo("java.exe", "-Xmx1024M -Xms1024M -jar minecraft_server.jar nogui");
            processInfo.CreateNoWindow = true;
            processInfo.UseShellExecute = false;

            try
            {
                using (Process minecraftProcess = Process.Start(processInfo))
                {
                    minecraftProcess.WaitForExit();
                }
            }
            catch
            {
                // Log Error
            }
        }

        static void Main(string[] args)
        {
            LaunchMinecraft();
        }
    }
}

最佳答案

您需要将其更改为:

public static void LaunchMinecraft()

这样,静态Main 方法可以访问静态LaunchMinecraft 方法。

关于c# - 非静态字段、方法或属性需要对象引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4717498/

相关文章:

c# - 集合的 Where 子句

x.95 的 C# Math.Round 问题

c# - WPF DataGrid 的 CollectionViewSource MVVM 实现

javascript - 如何在 TypeScript 中使用泛型模拟 Java 类文字?

java - 为 Oracle JDBC 瘦客户端设置语言

c# - .NET 自定义控件 (ToolStripControlHost) 对设计人员造成严重破坏

c# - 如何在没有 Winforms 的情况下使用 ClassLibrary 中的 ActiveX 组件

c# - ASPX 中的动态页面呈现

java - 将 Groovy Grails 服务注入(inject) Java 类

.net - 文件是否适合进程间通信