C# 尝试创建文件管理器实例时出错
我正在学习一个关于创建文件管理器的入门教程,并在尝试创建实例时遇到错误C# 尝试创建文件管理器实例时出错,c#,file-manager,C#,File Manager,我正在学习一个关于创建文件管理器的入门教程,并在尝试创建实例时遇到错误 public class fileManager : MonoBehaviour { private static fileManager instance; // Instance of the fileManager private string path; // Holds the application path public static fi
public class fileManager : MonoBehaviour
{
private static fileManager instance; // Instance of the fileManager
private string path; // Holds the application path
public static fileManager Instance {
get {
if (instance == null) {
instance = new GameObject("fileManager").AddComponent();
}
return instance;
}
}
}
错误是:
表达式表示一种类型,其中应包含变量、值或方法组
我觉得这很可疑:
instance = new GameObject(fileManager).AddComponent();
我猜GameObject
构造函数需要一个Type
参数。尝试更改为:
instance = new GameObject(typeof(fileManager)).AddComponent();
或:
GameObject构造函数的参数必须是一个变量或其他变量之一。特别是,它必须表示一个值,即类型的实例。您提供了类型的名称 这就好像您想打开一个名为C:\file.txt的文件,但是名为
open(string)
而不是open(“C:\file.txt”)
养成遵循.NET命名约定的习惯可能是个好主意,在这种约定中,类型名称以大写字母开头
显然,教程的示例代码不正确。GetComponent方法需要类型参数或“常规”参数。示例代码两者都不提供。我尝试了你的两个想法,但现在在原有的基础上出现了一个新错误。我知道这看起来很可疑,我想知道他们是不是忘了添加一些东西。所以你认为他们在制作教程时遗漏了一些东西?可惜其他的一切都解释得这么好。以小写字母开头的标识符通常是一个变量,而不是类型名,所以我通常会怀疑某些地方出现了混淆。但你有它响亮和明确的:公共类文件管理器。。。。教程在线吗?我可以快速看一下。它是在线的。谢谢你花时间帮忙@雅各布·琼斯:在构造函数调用中,您忘记在引号中加上“fileManager”。您传递的是类的名称,而不是类本身或类的实例。换句话说,你传递的值必须是字符串。啊,是的,我在尝试不同的东西。但是,即使使用引号,我也会得到错误“需要1个类型参数”
instance = new GameObject(new fileManager()).AddComponent();