//class A<T> 表示 A类接受某一种类型,泛型类型为T,需要运行时传入
//where表明了对类型变量T的约束关系。where T: A表示类型变量是继承于A的,或者是A本身//。where T:new()指明了创建T的实例时应该具有构造函数。一般情况下,无法创建一个//泛型类型参数的实例。然而,new()约束改变了这种情况,要求类型参数必须提供一个无参数的构造函数。
---------------------------------------------------
public class Singleton<T> where T : new ()
{
private static T _Instance;
public static T Instance
{
get
{
if(_Instance == null)
{
_Instance = new T();
}
return _Instance;
}
}
}
---------------------------------------------------
public class GameTag
{
public const string AudioMarTag = "AudioManager";
//where表明了对类型变量T的约束关系。where T: A表示类型变量是继承于A的,或者是A本身//。where T:new()指明了创建T的实例时应该具有构造函数。一般情况下,无法创建一个//泛型类型参数的实例。然而,new()约束改变了这种情况,要求类型参数必须提供一个无参数的构造函数。
---------------------------------------------------
public class Singleton<T> where T : new ()
{
private static T _Instance;
public static T Instance
{
get
{
if(_Instance == null)
{
_Instance = new T();
}
return _Instance;
}
}
}
---------------------------------------------------
public class GameTag
{
public const string AudioMarTag = "AudioManager";