07 2007 档案
摘要:本篇分析Core\Services的PropertyService类,该服务是用于所有需要属性持久的地方。因为涉及到属性持久化的存储位置,所以类中存在5个静态常量,很重要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> readonl...
阅读全文
摘要:属性结构位于Core/Property,先看属性系统的工作方式,如图:IXmlCovartable接口提供了对象与XML节点互相转换的方法,可以认为是序列化的另一种实现方式。据作者说,这两个方法的实现要比序列化速度快很多。IProperties是主接口,应用程序其他部分都通过调用该接口进行工作。它提供了对属性的读写操作,以及一个自身对象的复制方法。DefaultProperties是IProper...
阅读全文
摘要:Service在SharpDevelop中的用途:需要一些静态辅助类,协助主流程完成一些额外扩展的细小琐碎的功能,例如OpenFile功能,例如获取编译器输出位置。原先SharpDevelop使用只含静态成员的类,但是后来发现需要定义多于10个以上的静态类,不易维护;而且难以替换,难以扩展。现在0.92版本使用ServiceManager单件访问这些辅助功能。Service的结构在Core/Ser...
阅读全文
摘要:这套体系是由xml与相关类共同作用形成的。xml文件为:SharpDevelopCore.addin(搜索一下,这个文件是唯一的)相关类在:Core/AddIns在逻辑上,SharpDevelop有一棵插件树AddInTree,树上有很多节点AddInTreeNode,对外表现为SharpDevelopCore.addin这个xml文件。每个AddIn插件由Codon和Conditional组成。...
阅读全文
摘要:最BT的就是这里了,连个Application.Run()都没有——而全都是从AddIns读取。 1 [STAThread()] 2 public static void Main(string[] args) 3 { 4 commandLineArgs = args; 5 bool noLogo = fals...
阅读全文
摘要:1.它只有4.79M大小,真是小到让人不可思议。为什么呢?想想Visual Studio.NET吧,几个G的大小,吓都吓死人了,实现的还不就是那么些功能?2.使用SharpDevelop的时候,你可以把原来用Visual Studio.NET建的工程导入成SharpDevelop中的工程,也可以把SharpDevelop中的工程导出成Visual Studio.NET下的工程。这样,就可以使的Sh...
阅读全文