1.概要
目的:为了证明如下问题
- public static T t = default(T); //结果t == null
- public static T t 会为每一个泛型都分配空间
2.代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 继承的单件
{
class Program
{
static void Main(string[] args)
{
int a = A.getMy().add(2, 3);
Console.WriteLine(a);
int b = B.getMy().cheng(2, 3);
Console.WriteLine(b);
Console.ReadKey();
}
}
class Singltan<T> where T : new() {
public static T t = default(T);
public static T getMy() {
if (t == null) {
t = new T();
}
return t;
}
}
class A : Singltan<A> {
public int add(int a, int b) {
return a + b;
}
}
class B : Singltan<B> {
public int cheng(int a, int b) {
return a * b;
}
}
}