[C#]RaiseEvent Extension Method (一)
今天再調整程式中的事件,又注意到C#的事件實在是很囉唆,每次觸發事件前都要判斷一下事件處理常式是否有繫上,有繫上才能做觸發的動作。這樣的檢查動作隨著事件的增多,重複撰寫相同的邏輯會變得非常的頻繁。而在VB.NET中事件的觸發相較之下就容易得多,不需要自行判斷事件處理常式是否繫上,直接叫用RaiseEvent觸發事件就可以了。因此想說是否可以把這部分工作提出來,試了一下提出來後仍舊運行良好,這邊將其整理成擴充方法: ...
今天再調整程式中的事件,又注意到C#的事件實在是很囉唆,每次觸發事件前都要判斷一下事件處理常式是否有繫上,有繫上才能做觸發的動作。這樣的檢查動作隨著事件的增多,重複撰寫相同的邏輯會變得非常的頻繁。而在VB.NET中事件的觸發相較之下就容易得多,不需要自行判斷事件處理常式是否繫上,直接叫用RaiseEvent觸發事件就可以了。因此想說是否可以把這部分工作提出來,試了一下提出來後仍舊運行良好,這邊將其整理成擴充方法: ...
這邊記錄ㄧ下要如何取得檔案內容中的詳細資料 … ...
看到MSDN上請問將一個字串copy到一個結構中最快的方式為何?這篇的發問,做些紀錄: ...
自Linq出來以後,個人的程式撰寫習慣又因此有了些許的改變,變得習慣會盡量用IEnumerable型態去傳遞集合的資料,因為透過這樣的型態可以將集合真正的型態隱含在背後,若某天有需求要替換集合類型,動到的部份會比較少,也可以實現像Linq一樣具延遲載入的效果。 ...
最近日本的事件搞得大家人心惶惶,三不五時就要上一下原子能委員會的網站看一下輻射量是否超標,為了更有效的取得這樣的資訊,稍微花點時間去整理了一下API,有興趣的可直接取用,希望藉此拋磚引玉會有更多便民的工具被開發出來。 ...
之前在做壓縮的函式庫時,有碰到一個需求是壓縮整個目錄的資料,目錄裡面可能又含有許多子目錄,要壓縮時會需要指派其在壓縮檔內的存放位置,故會需要將要壓縮的檔案位置轉換為相對路徑,壓縮檔內依其相對位置做存放。當初在做這個功能時,找了一下網路上的資料,多半找到的都是用遞迴下去自行處理,雖然運作良好,但程式在理解上會變得稍微困難一點。 ...
有時撰寫程式時我們會需要以當前路徑做為基底路徑,在其下面存放對應的資料,可能直接放在當前路徑下、或是放在當前路徑下面的目錄裡面,此時我們會需要以做相對路徑與絕對路徑的合併,換算所要存取的檔案的絕對路徑。 ...
用過Everything也好一陣子了,一直以來都對他的快速搜尋有相當深刻的印象,但也只限於當作搜尋的工具之用,看了保哥介紹好用工具:Everything search engine (檔名搜尋工具)的這篇,發現原來該套軟體也有SDK可以使用,可藉由他的強大搜尋功能用來開發自己的工具,花點時間試著玩了一下,順手記錄一下。 ...
IDisposable接口為.Net程式釋放非託管資源的標準解決方案,可為類別提供即時釋放資源的機制。 ...
在.Net的世界中,物件的引用可被分為強引用與弱引用兩種。所謂的強引用指的就是我們一般在使用的物件引用方式。我們可將這種物件引用視為一個釘子,牢牢的釘在物件實體上面,只要物件實體仍有被強引用給參考,該物件實體就會被固定的死死的,不能被GC給回收,因這樣的引用特性是很強烈的,故稱之為強引用。 ...