CodeFx: 微軟一站式開發技術框架解決方案 2009-6-14 簡介

微軟一站式開發技術框架解決方案 2009年6月14號更新:
 
下載地址:
 
如果您是第一次聽說All-In-One Code Framework這個項目,請參閱主頁上的相關介紹http://cfx.codeplex.com/,以及這篇blog: CodeFx:一站式微軟開發技術框架解決方案
 
 
讓我們來看看這一次發佈中新增了哪些sample code:
 
CSLinqExtension
CSLinqExtension對LINQ查詢的數據源進行了拓展,其中包括了幾個簡單的LINQ拓展庫,比如LINQ to CSV、LINQ to File System、LINQ to Reflection以及LINQ to String。LINQ to CSV的功能是將CSV文件的數據逐行解析成字符串數組;LINQ to File System可以將文件夾中的文件以拓展名進行歸類並得到其中最大的文件;LINQ to Reflection的功能是在.NET Assembly中,按函數返回值類型對導出類的函數進行歸類;LINQ to String的功能包括了過濾字符串中的數字字符,統計單詞的出現頻率,以及搜索含有特定單詞集合的句子。在今後的發佈的CodeFx中,我們還將新增一些其他的LINQ拓展庫,比如LINQ to WMI。
 
CSOfficeSharedAddIn, CppOfficeManagedCOMAddInShim
CSOfficeSharedAddIn是一個最基本的Office Shared COM AddIn。它由.NET語言編寫完成,而且不依賴於VSTO。爲了確保這種AddIn和別的Office AddIn相互隔離,開發人員可以在這個managed COM AddIn的基礎上添加一個
AddIn Shim。Shim的工作原理就是讓Office先加載Shim dll (Shim dll是一個純native C++編寫的dll),再有這個Shim dll 加載.NET Runtime,創建一個新的AppDomain起隔離作用,最後將原來的managed COM AddIn 程序集load到這個AppDomain中去。CppOfficeManagedCOMAddInShim演示的就是這樣一個AddIn Shim。
 
CSVstoGetWrapperObject
演示瞭如何從現有的Office COM對象中得到VSTO對象的包裝。
 
CSAutomatePowerPoint, VBAutomatePowerPoint, CppAutomatePowerPoint
這三個例子演示瞭如何編寫VC#, VB.NET和native VC++代碼來automate Microsoft PowerPoint。
 
CSWinFormDataGridView
自定義DataGridView的sample大全。收羅了
MSDN論壇裏最經常被問到的自定義場景。比如,場景1. 使用除標準DataGridView編輯控件(TextBox, CheckBox, ComboBox, Button, Link, Image)之外的其他控件進行編輯,如MaskedTextBox, DateTimePicker控件等。這個需求一般可以通過兩種方法來解決,一種是自定義個一個DataGridView列,詳見 CustomDataGridView 這個例子;另一種是在DataGridView進入編輯狀態時,將所需的編輯控件放置於當前編輯單元格中,在編輯結束的時候將該控件隱藏,詳見 EditingControlHosting 這個例子。場景2. 大數據量顯示。常態下在DataGridView控件中顯示超大數據量效果不佳,爲增強超大數據量的顯示效果,一般有以下兩種方法: 一是分頁顯示,詳見 DataGridViewPaging 這個例子; 二是使用VirtualMode,在數據需要顯示時才從數據庫中讀取,詳見 JustInTimeDataLoading這個例子。場景3. 多層表頭。 有時爲了使數據顯示得更有組合性,我們會希望能顯示多層的表頭,實現方法詳見 MultipleLayeredColumnHeader 這個例子。
 
CppUac
這是Vista UAC相關的一個native C++的例子。和CSUac例子對應,演示瞭如何判斷當前進程的Integrity level,以及如何通過ShellExecute(Ex)或者manifest文件來elevate一個進程。
 
CSControlFirewall
演示了
Windows Firewall API的使用。
 
CppWindowsSubclassing
演示瞭如何編寫native VC++代碼對當前應用程序內的窗口進行子類化。子類化是一種非常常用的方法來自定義一些Window或control的行爲。一般在VC++中有兩種方法作子類化。具體的請參見該示例代碼和文檔。
 
CSCodeDOM
這是.NET CodeDOM的sample。演示瞭如何使用.NET CodeDOM 技術在運行時動態生成和編譯代碼。
 
CppSynchronousIO, CppAsynchronousIO
演示了同步I/O和異步I/O。異步I/O中除了demo了最基本的GetOverlappedResult, WaitForSingleObject等操作,還演示了Alertable I/O, I/O Completion Port這些高級API。
 
 
最後,如果您對新版的CodeFx有任何建議和反饋,請在此提出。謝謝!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章