一个项目中是否可以有多个单例模式?

时间:2019-05-07 10:18:41

标签: c# unity3d

我在层次结构中有几个游戏对象。其中两个有脚本。我希望它们都是单例,因为我只希望它们的一个实例,并且希望它们能够使用“实例”相互通信。

因此,我在两个脚本中都尝试了单例模式。没有错误,脚本不能互相引用。

这是第一个脚本:

public class FirstSingleton: MonoBehaviour
{

        #region Singleton
        public static FirstSingleton Instance;

        private void Awake()
        {
            Instance = this;
        }
        #endregion

...// rest of the code
}

这是第二个脚本:

public class SecondSingleton: MonoBehaviour
{

        #region Singleton
        public static SecondSingleton Instance;

        private void Awake()
        {
            Instance = this;
        }
        #endregion

...// rest of the code
}

问题出在这里:我希望能够和

FirstSingleton.Instance.OneOfTheFunctions();

SecondSingleton.Instance.OneOfTheFunctions()

但是我不能。我在做什么错了?

更新: 我找到了问题,但没有找到逻辑。我的课程是“命名空间”的一部分。删除命名空间后,问题就解决了。你能告诉我为什么吗?

0 个答案:

没有答案