今天搞VS 2005搞了半天没真正搞出个什么名堂来

时间:2022-06-18 14:22:58

  今天晚上都在搞VS 2005,瞎折腾了半天。发现了几个新的方便特性:
  1、如果你的一个类没有写完整的命名空间,也没有引用的时候,编译时出错会自动提示你:(1)就地写完整的命名空间;(2)帮你在文件头添加using引用;
  2、如果在解决方案中更改一个类文件的名字,会提示是否更改里面的类名;
  3、调试的时候,鼠标移动到变量上会出现这个变量的详细信息,而不是以前那样只有简略的信息了;另外在选择观察之后,观察对象的时也会有字符的智能提示了;
  4、测试了一下自带的单元测试,使用方法和NUnit差不多,不过似乎功能更强大,但也更复杂了一些。可以设置单元测试报告模版,也许能够根据模版自动生成测试报告的(Word文档),方便了测试人员们。NUnit也许会在VS 2005正式推出的时候被干掉。(有网友说VS 2005会直接导致一批开源项目的死亡,比如NUnit和NAnt就是首当其冲的。如果真这样的话,其实应该算是.Net阵营的一种严重打击。但NUnit的功能只能算是VS 2005自带强大测试功能模块中的一个小子集了,事实上被微软干掉的可能性很大)


  最后我继续专研泛型技术,不过到最后也没研究透彻。我想要达到的效果是通过XML来运行时配置泛型类里面的泛型参数的类型,而不在程序中写死,但是非常遗憾的是我用如下代码是失败的:

今天搞VS 2005搞了半天没真正搞出个什么名堂来System.Type t  =  System.Type.GetType("System.Int32");
今天搞VS 2005搞了半天没真正搞出个什么名堂来Demo
< t >  objDemo  =   new  Demo < t > ();                      // Demo是一个泛型类Class Demo<T>{}
今天搞VS 2005搞了半天没真正搞出个什么名堂来

  这样写会在编译的时候提示't'在命名空间或类名中无法找到。显然我的猜想是错的,在<>里面的并不是Type类型的值,当然如果用字符串更是不行的。难道就没有一种办法可以实现运行时决定泛型的具体类型的方法吗?和群里面的朋友讨论了下,结论是估计用反射能够做到,不过都还没开始研究C# 2.0,所以谁也说不上个所以然来,唉,郁闷啊。