Android Unity Gear VR构建错误

Android Unity Gear VR构建错误,android,unity3d,virtual-reality,gear-vr,Android,Unity3d,Virtual Reality,Gear Vr,我正在尝试设置和构建 当我尝试构建应用程序时,它会抛出以下错误: Assets/Workshop/Scripts/TextureLoader.cs(114,31):错误CS1105:`TextureLoader.GetFileWithExtensions(此DirectoryInfo,参数字符串[])':扩展方法必须声明为静态 // Gets the list of files in the directory by extention and filters for our specified

我正在尝试设置和构建

当我尝试构建应用程序时,它会抛出以下错误: Assets/Workshop/Scripts/TextureLoader.cs(114,31):错误CS1105:`TextureLoader.GetFileWithExtensions(此DirectoryInfo,参数字符串[])':扩展方法必须声明为静态

// Gets the list of files in the directory by extention and filters for our specified ones (images)
public IEnumerable<FileInfo> GetFilesWithExtensions (this DirectoryInfo dir, params string[] extensions) {
    IEnumerable<FileInfo> files = dir.GetFiles();
    return files.Where(f => extensions.Contains(f.Extension));
}

public bool isFinishedLoadingFirstTexture() {
    return mFinishedFirstTexture;
}
//按扩展名获取目录中的文件列表,并筛选指定的文件(图像)
公共IEnumerable GetFileWithExtensions(此目录信息目录,参数字符串[]扩展名){
IEnumerable files=dir.GetFiles();
返回文件。其中(f=>extensions.Contains(f.Extension));
}
public bool已完成加载firstTexture(){
返回mFinishedFirstTexture;
}

我已经在标题中将其更改为公共静态类。

静态类对方法没有多大作用。您需要使您的方法保持静态,以使扩展正常工作

public static IEnumerable<FileInfo> GetFilesWithExtensions (this DirectoryInfo dir, params string[] extensions) {
    IEnumerable<FileInfo> files = dir.GetFiles();
    return files.Where(f => extensions.Contains(f.Extension));
}
公共静态IEnumerable GetFileWithExtensions(此DirectoryInfo目录,参数字符串[]扩展名){
IEnumerable files=dir.GetFiles();
返回文件。其中(f=>extensions.Contains(f.Extension));
}

如果您需要其他示例,我编写了一个扩展方法

为了创建扩展方法,类必须是
public
static

该功能必须是
public
static
。你错过了这部分

public static class TextureLoader
{
    public static IEnumerable<FileInfo> GetFilesWithExtensions(this DirectoryInfo dir, params string[] extensions)
    {
        IEnumerable<FileInfo> files = dir.GetFiles();
        return files.Where(f => extensions.Contains(f.Extension));
    }
}
公共静态类TextureLoader
{
公共静态IEnumerable GetFileWithExtensions(此DirectoryInfo目录,参数字符串[]扩展名)
{
IEnumerable files=dir.GetFiles();
返回文件。其中(f=>extensions.Contains(f.Extension));
}
}

这样修改代码,错误就会消失

private IEnumerable<FileInfo> GetFilesWithExtensions(DirectoryInfo dir, string[] extensions)
{
    IEnumerable<FileInfo> files = dir.GetFiles();
    return files.Where(f => extensions.Contains(f.Extension));
}
private IEnumerable GetFileWithExtensions(目录信息目录,字符串[]扩展名)
{
IEnumerable files=dir.GetFiles();
返回文件。其中(f=>extensions.Contains(f.Extension));
}

扩展方法当我将其更改为静态类时,它会经历一系列错误。这是示例项目附带的文件。它最初是
private IEnumerable GetFilesWithExtensions(This DirectoryInfo dir,params string[]extensions){IEnumerable files=dir.GetFiles();return files.Where(f=>extensions.Contains(f.Extension));}
Sorry,如果您是从它所在的类以外的类调用它,则扩展方法应该是公共的。如果无法访问该项目,我将无能为力,因为您的代码中似乎还有其他问题。如果该类是私有的,该怎么办?