码迷,mamicode.com
首页 > Windows程序 > 详细

C#脚本编写经验总结

时间:2018-08-11 01:18:30      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:sys   经验   解释   ide   编写   一个   dial   dll   设计   

为了快速的开发小软件,我利用C#中的动态编译做了一个“C#解释器”,当然它并不是解释执行的。

完了以后,编写了一些C#脚本,在此期间发现了一些在IDE中编程会忽略的知识,下面一一列举一下。

STAThread

一次编写脚本时,发现FolderBrowserDialog好像失效了,不能正常弹出。

后来发现,FolderBrowserDialog等控件实际是com组件,com组件只能运行在STA线程中。

解决方法有二:在Main函数上方加入[STAThread]标签,使主线程成为STA线程;或者在程序中new一个线程,并设置为STA线程,然后在其中使用FolderBrowserDialog。

命名空间和dll名称不对应的两处

.NET中的命名空间的名字,一般和dll名是相同的。

虽然可以不同,但是那样用很别扭,一般人也不会那样用。

我发现.NET中命名空间和dll名称不对应的有两处。

一是,命名空间System.Linq的代码有一部分存在于System.Core.dll中,比如Skip()方法。

二是,命名空间System.Xml对应的dll为System.XML。

第一处可以理解,第二处我感觉算是设计缺陷。

 

C#脚本编写经验总结

标签:sys   经验   解释   ide   编写   一个   dial   dll   设计   

原文地址:https://www.cnblogs.com/fabao/p/9457979.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!