当我尝试构建应用程序时,它会抛出以下错误: Assets / Workshop / Scripts / TextureLoader.cs(114,31):错误CS1105:`TextureLoader.GetFilesWithExtensions(此DirectoryInfo,params string [])':扩展方法必须声明为static
// 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;
}
我已将其更改为标题中的公共静态类。
答案 0 :(得分:0)
我为了制作扩展方法,该类必须是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));
}
}
答案 1 :(得分:0)
以这种方式修改代码,错误将消失
private IEnumerable<FileInfo> GetFilesWithExtensions(DirectoryInfo dir, string[] extensions)
{
IEnumerable<FileInfo> files = dir.GetFiles();
return files.Where(f => extensions.Contains(f.Extension));
}