原创 c# 委託實例的幾種執行方式詳解

聲明委託: 首先,綁定委託方法有如下幾種方式: 第一種,直接對符合委託結構的方法進行多綁定: 第二種,綁定匿名方法: 第三種,用等號指定單方法: 注意,第三種綁定方式會將之前所綁定的方法全部解綁,執行結果如下: 如果將第三種的=

原创 c#判斷線程的狀態,隨筆

判斷線程是否爲未開啓狀態或者已停止狀態,如果是,則新開線程執行方法,線程的狀態判斷最好是用&符的方式,不要用==號: if ((conectThread.ThreadState & (ThreadState.Unstarted | Thr

原创 靜態常量與動態常量的最直觀區別

靜態常量在程序編譯時給值,且在整個程序編譯週期內無法改變,無法做到用配置文件給值,較動態常量靈活性不足,但內存消耗非常低。 動態常量在程序運行時給值,且在賦值之後的整個程序運行週期內無法改變,可以做到用配置文件給值,靈活性高,但要消耗一定

原创 關於c#擴展方法的用處和底層實現的剖析

首先說明,c#擴展方法並不能明顯提高程序的處理性能,因爲其在底層實現和以往大家所用的靜態工具類沒有區別,但它但卻能縮減代碼量,讓你的代碼更爲簡潔優雅。 更爲重要的是,擴展方法可以將你在苦苦回憶靜態工具類名稱的窘迫中解脫出來。 比如說拿st

原创 程序集(dll) 安裝到 GAC && 程序集添加到VS引用開窗(轉)

一 首先    程序集(dll) 安裝到 GAC 中的方法          所謂的GAC,就是全局程序集緩存(Global Assembly Cache)。         針對一些類庫項目或用戶控件項目在程序開發完成後,有時需要將開發

原创 關於.net項目引用的研究

託管平臺項目引用,可以總結爲4種: 一、直接引用解決方案之內的項目 這種引用的實際本質還是把引用項目的路徑映射到了項目所編譯的dll文件上,這個工作是開發工具替我們做的。使用這種方式在編譯時會把所引用項目的編譯結果給複製到當前項目的編譯路

原创 查看一個託管dll文件是64位、32位還是AnyCPU,和將託管32位dll與AnyCPU互相轉換的方法

用ILDasm工具打開託管dll文件,然後打開該dll文件的自描述文件: 或者使用VS命令CorFlags,注意,必須將文件與該命令工具放在同一盤符下:   如果需要將32位的託管dll文件改爲AnyCPU,或者將AnyCPU

原创 註冊COM組件的意義

註冊COM組件有什麼用?爲什麼要使用COM組件必須要先進行註冊?這個註冊過程中都執行了什麼操作? 有人說,註冊COM組件的目的是要實現全局複用,但更精準的來說,應該說是爲了實現全局複用+精準調用。爲什麼這麼說?我們先來看註冊COM組件時都

原创 svn開發流程-隨筆

第一步:在服務器創建SVN倉庫 點擊創建目錄結構然後點擊確定 然後你會看到服務器上的SVN倉庫文件如下所示,其中conf文件夾存放着該倉庫的設置,我們打開它: 然後打開svnserve.conf: 將以下注釋放開,意思是在該文件之

原创 c#關於異步線程調用UI的心得

異步線程調用UI更新,有兩種方式,一、用UI對象的Invoke方法用委託的方式進行調用操作UI的代碼,二、用事件驅動模式的BackGroundWorker組件進行UI操作,這是爲了線程安全。因爲BackGroundWorker是一個較爲常

原创 原創,DockPanelSuite界面框架+MEF框架,實現高彈性、高擴展、免依賴插件式開發框架,長期更新(一)

在軟件開發過程中,我們都在追求着實現高內聚、低耦合的模塊化功能,模塊之間的調用通過約定的接口,目的是使程序模塊的可重用性、移植性大大增強。當然,這都是老生常談的老知識了,一個標準模塊化的開發過程便是由若干小模塊組成了大模塊,由大模塊組成了

原创 並於base64

Base64是網絡上最常見的用於傳輸8Bit字節碼的編碼方式之一,Base64就是一種基於64個可打印字符來表示二進制數據的方法。可查看RFC2045~RFC2049,上面有MIME的詳細規範。 Base64數值對應表: 索引 對應

原创 關於非託管資源GDI對象泄漏-解決問題隨筆

要在一個龐雜的系統之中找到非託管資源泄漏的位置,是一個極爲頭痛的事情,所以在託管平臺操作非託管資源一定要謹慎,用完便要及時釋放,否則埋下的雷,過一段時間要費極大的代價和心力去找。更別提是要在別人雜亂的代碼之中去找這顆雷了,就像我這次一樣,

原创 關於程序資源文件-深入學習筆記

可以將字符串、圖像、對象數據等資源包含在資源文件之中,以供程序使用。.net平臺提供了5種資源方案的支持: 一、 創建一個包含字符串資源的文本文件。 可以使用資源文件生成器 (Resgen.exe) 將文本文件轉換成二進制資源 (.res

原创 關於非託管資源

在.net託管平臺,對於大多數對象,都可以依賴於 .NET 垃圾回收器來進行回收,但是對於非託管對象卻需要你手動去回收,以免造成資源泄漏從而引發程序崩潰問題,最常見的非託管資源類型是包含系統資源的對象,如文件、窗口、網絡連接或數據庫連接。