Unity C#Singleton+非Singleton类都扩展到同一个父类



假设我有类ChildA和ChildB,它们都扩展到类Parent。应该只有一个ChildA实例和多个ChildB实例。它们都扩展到Parent的原因是它们的一些变量和方法是相同的。最好的办法是什么?我曾尝试将Singleton用于ChildA,但由于它需要静态字段/方法,它似乎与其父类冲突。删除ChildA的父类可以解决这个问题,但它似乎不对,因为它的一些方法和变量与ChildB的方法和变量匹配。如有任何帮助,我们将不胜感激。

您得到的错误\冲突究竟是什么?

已经尝试了以下代码,没有问题:

using System;
public class Parent
{
protected int value;
}
public class ChildA: Parent
{
public static ChildA self = null;

public ChildA()
{
if (self == null)
self = this;

value = 10;
}
public int GetVal()
{
return(value);
}
}
public class ChildB: Parent
{
public ChildB()
{
value = 20;
}
public int GetVal()
{
return(value);
}
}

public class Program
{
public static void Main()
{
new ChildA();
ChildB obj = new ChildB();

Console.WriteLine("Value of Singleton ChildA: " + ChildA.self.GetVal());
Console.WriteLine("Value of ChildB: " + obj.GetVal());
}
}

相关内容

  • 没有找到相关文章

最新更新