C#脚本编写经验总结
Posted fabao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#脚本编写经验总结相关的知识,希望对你有一定的参考价值。
为了快速的开发小软件,我利用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#脚本编写经验总结的主要内容,如果未能解决你的问题,请参考以下文章