现在的位置: 首页 > 综合 > 正文

C# 泛型: 我要说完全的失望啊….!!!!

2011年06月05日 ⁄ 综合 ⁄ 共 1417字 ⁄ 字号 评论关闭

好吧,先让再沮丧一会儿,然后再开始这个帖子 
昨天终于从emule上把whidbey alpha拉下来了,2.6G啊,今天装上后,迫不及待地试了一下C#中的泛型,然,我要哭!   这功能也太弱了吧,才多久啊,C#的泛型就没新鲜东西可玩了,这对于从C++转到C#的我来说,这哪里能称得上泛型啊!!除了做个容器(呼!即便做container也不见得方便)一无用处啊。当初在msdn上看到那个泛型的constraint就觉得不妙,果不其然。号称从clr支持泛型,然实作出来的东西,功能上一点也不见得比java高明到哪里去(效率是C#泛型要高很多,具体的我下次再写吧)。最夸张的是实例化的类型竟然必须有一个无参构造函数,晕啊!
sigh..... Bruce Eckel的话还真是中肯啊

太伤心了,写不下去了,先把我的第一个C#泛型的试验程序帖出来吧,回头我会写一篇详细的 Take a Close Look at C# Generics

using System;

namespace ConsoleApplication1
{
      interface ITest
     {
            void testMethod();
      }

      class testType : ITest
     {
              //public testType(int i) {}
             public void testMethod()
             {
                   Console.WriteLine("testing");
             }
   
     }
 
      
     class test<T> where T:ITest,new()
    {
           public test(int i)
          {
                dataT = new T();
                dataInt = i;
           }
           public void foo()
           {
                 dataT.testMethod();
            }
            public T DataT
           {
                  get { return dataT; }
            }
            public int DataInt
           {
                 get { return dataInt; }
           }
           private T dataT;
           private int dataInt;
     }
     class Class1
     {
            [STAThread]
            static void Main(string[] args)
           {
   
                 test<testType> ti = new test<testType>(4);
                 //Console.WriteLine(ti.DataT);
                ti.foo();
                Console.WriteLine(ti.DataInt);
             }
      }
}

抱歉!评论已关闭.