总是优先考虑使用泛型:
避免在泛型类型中声明静态成员
static void Main(string[] args) { MyList mylist01 = new MyList(); MyList mylist02 = new MyList(); Console.WriteLine(MyList.Count); // 2 Console.WriteLine(); MyListT<int> listInt1 = new MyListT<int>(); MyListT<int> listInt2 = new MyListT<int>(); MyListT<string> listString = new MyListT<string>(); Console.WriteLine(MyListT<int>.Count); // 2 Console.WriteLine(MyListT<string>.Count); // 1 Console.WriteLine("Hello World!"); } class MyList { public static int Count { get; set; } public MyList() { Count++; } } class MyListT<T> { public static int Count { get; set; } public MyListT() { Count++; } }
T会根据指定的不同类型的数据类型而变成不同的数据类型,类型之间不共享静态成员。
非泛型类型中的泛型方法并不会在运行时的本地代码中生成不同的类型
class FMyList { static int Count; public static int Func<T>() { return ++Count; } }
Console.WriteLine(FMyList.Func<int>()); Console.WriteLine(FMyList.Func<int>()); Console.WriteLine(FMyList.Func<string>());
标签:Count,Console,static,MyListT,WriteLine,泛型,MyList From: https://www.cnblogs.com/wen-chen/p/16992565.html