Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2314800
  • 博文数量: 527
  • 博客积分: 10343
  • 博客等级: 上将
  • 技术积分: 5565
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-26 23:05
文章分类

全部博文(527)

文章存档

2014年(4)

2012年(13)

2011年(19)

2010年(91)

2009年(136)

2008年(142)

2007年(80)

2006年(29)

2005年(13)

我的朋友

分类: WINDOWS

2008-11-12 20:15:08

在3.0.2.0 版本的 Snippet compiler中, 下面两行代码在设置了如图的选项时, 会抛出异常

上面分别是打开的选项, 和引起异常的代码行, 异常为:

简单地把上面的 true || 去掉, 可以避免在这种情况下执行这段引起异常的代码, 原理是如果snippet 通过重定向来输出内容时, Console.In 对象是一个 StreamReader类型的内部私有类型NullStreamReader, 而实际attach一个输入输出终端窗口时是另一个TextReader+SyncTextReader类型, 通过reflector可以证实, 所以不得不用这种丑陋的办法达到目的:

if(Console.In.GetType().FullName != "System.IO.StreamReader+NullStreamReader" )
{
  Console.Write("Press any key to continue...");
  Console.ReadKey();
}

由于default.cs默认提供的名字空间实在少得可怜, 实用这个工具的人绝对不够用, 就冲着你要多加几个名字空间, 也一定要修改default.cs 模板文件.

下面是我修改后的 default.cs文件. 该文件是snippet 的模板文件, 也就是你每次打开snippet compiler时默认看到的代码文件模板. 模板的配置方法为(它默认放到Application Data中, 我希望自行指定一个自己知道的目录):


default.cs:
文件:default.zip
大小:0KB
下载:下载
MD5:
4a0da768a1d650b7786af1f2018d0917 *default.zip


阅读(803) | 评论(0) | 转发(0) |
0

上一篇:关于迷信

下一篇:WinForm/GDI+中的 Color

给主人留下些什么吧!~~