使用全局变量的非静态字段、方法或属性需要对象引用

本文关键字:方法 属性 对象引用 字段 全局变量 静态 | 更新日期: 2023-09-27 18:35:44

你好,我正在一个全局整数中工作,稍后将使用变量。我做了这样的全局变量:

    class Foo
    {
       public static int stream = Bass.BASS_StreamCreateFile(path1.Text, 0, 0, BASSFlag.BASS_DEFAULT);
    }

稍后将像这样称呼:

Foo.stream

它还可以包含超过 1 个流,例如 stream20、30 等......

这里的问题是它向我返回了此错误:

"非静态字段、方法或属性需要对象引用",我在 path1.Text 中调用文本

我该如何解决这个问题?

使用全局变量的非静态字段、方法或属性需要对象引用

最好做这样的事情:

public class Foo
{
    public static int GetStream(string path)
    {
        return Bass.BASS_StreamCreateFile(path, 0, 0, BASSFlag.BASS_DEFAULT);
    }
}
int foo = Foo.GetStream(path1.Text); // Or whatever you want to call the method.

将路径作为参数传递。

编辑:

根据您的注释,以下代码是否适合您?

public class Foo
{
    public static int GetStream(string path)
    {
        return 1;
    }
}
int foo = Foo.GetStream(path1.Text);

您应该归还1。如果这确实有效,那么您有问题 Bass.BASS_StreamCreateFile() .否则,您能否发布所有代码,以便我们了解您如何在代码中使用类Foo