C# 如何知道类是否被实例化

C# 如何知道类是否被实例化,c#,unity3d,C#,Unity3d,我使用以下代码在脚本之间共享变量和方法 主脚本 private FileScript1 Script1; public void Start () { Script1 = new FileScript1(this); Script2 = new FileScript2(this); Script3 = new FileScript3(this); } 其他脚本 class FileScript1 // FileScript2, FileScript3 { private

我使用以下代码在脚本之间共享变量和方法

主脚本

private FileScript1 Script1;

public void Start () {
  Script1 = new FileScript1(this);
  Script2 = new FileScript2(this);
  Script3 = new FileScript3(this);
}
其他脚本

class FileScript1 // FileScript2, FileScript3
{
    private Target _target;
    public FileScript1(Target target)
   {
       _target = target;
   }
}

现在,在从目标脚本访问脚本之前,我需要知道脚本是否已实例化。 现在我用布尔运算解决了这个问题

public void Start () {
  Script1 = new FileScript1(this);
  myFileScript1 = true; 
  Script2 = new FileScript2(this);
  Script3 = new FileScript3(this);
}
在访问脚本之前,我验证这个变量。 我在想,有没有更干净的方法? 我查看了论坛,但运气不佳。

常见检查示例:


Assert(objectName!=null,“类未实例化”)

如果(Script1!=null){…}
?¯\_(ツ)_/“通过检查变量是否为null?还有一些C#课程会很好…C#也有
?。
运算符在进行否决表决之前,最好先问一下这样一个看似显而易见的问题的原因!null是我做的第一件事,但VisualStudio宣布它是一个错误。我关闭并重新打开Unity,现在它开始了。我当然不会问b。”E在你的水平,但是我知道C的基本原理。也许如果我已经明确了发生了什么,你会在没有拿走我的选票的情况下做的。谢谢你的回答。@瓦尔特,我没有投票,但是注意到你的问题虽然看起来很明显,但没有任何迹象表明你自己认为它是“显而易见的”。问题。这个问题也没有提到你曾尝试先测试空值,但出于某种奇怪的原因,它产生了问题。我们所看到和知道的只是你在问题中写的东西,这看起来就像是一个初学者迈出第一步,却不知道简单的空值测试就足够了的问题。对于许多人来说对于您的问题,这可能是您提出上述问题的明显原因。为什么要用三个不同的值覆盖
Script1
?如果
if(Script1==null)
显示错误,您可能应该将其添加到您的问题中