首页 > 代码库 > 一个泛型的问题。
一个泛型的问题。
前段时间我还在纳闷,在上上篇设计模式的单例模式中,我只New过一次对象。但是查看我分明得到了2个或多个不同的对象。今天做个试验。代码如下
通过实验发现,对象确实是new了两次,initial确实是进入了两次,对于不同泛型对象,是要重新开辟内存的。
下面的文章做个资料保存。
http://www.cnblogs.com/DebugLZQ/archive/2012/09/03/2669383.html
http://msdn.microsoft.com/en-US/library/f4a6ta2h(v=vs.80).aspx
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace ConsoleApplication10 7 { 8 class Program 9 {10 static void Main(string[] args)11 {12 generictest<custom1>.List.Add(new custom1("custom1(1)"));13 generictest<custom1>.List.Add(new custom1("custom1(2)"));14 generictest<custom2>.List.Add(new custom2("custom2(1)"));15 generictest<custom2>.List.Add(new custom2("custom2(2)"));16 Console.ReadKey();17 }18 }19 class generictest<T>20 {21 private generictest()22 { }23 static private List<T> list=null;24 static public List<T> List25 {26 set27 {28 29 list = value;30 }31 get32 {33 if (list == null)34 {35 initial();36 }37 return list;38 }39 }40 41 private static void initial()42 {43 list = new List<T>();44 }45 }46 class custom147 {48 public string str;49 public custom1(string str)50 { 51 this.str=str;52 }53 }54 class custom255 {56 public string str;57 public custom2(string str)58 { 59 this.str=str;60 }61 62 }63 }
一个泛型的问题。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。