Time of Update: 2018-12-05
1.下載安裝DpaToolkit。DpaToolkit是一個開源項目,通過 http://dpatoolkit.sourceforge.net/ 可以擷取源碼和安裝包。2. 建立要反向建模的C#類庫。工程如下: BaseClass.cs的代碼如下: Code ExtendClass.cs的代碼如下: Code編譯產生ReverseClassDemo.dll3.反向工程為UML類圖。 1)開啟DPAToolKit,選擇Tools-Reverse
Time of Update: 2018-12-05
1,malloc與free是C++/C語言的標準庫函數,new/delete是C++的運算子。它們都可用於申請動態記憶體和釋放記憶體。 2,對於非內部資料類型的對象而言,光用maloc/free無法滿足動態對象的要求。對象在建立的同時要自動執行建構函式,對象在消亡之前要自動執行解構函式。由於malloc/free是庫函數而不是運算子,不在編譯器控制許可權之內,不能夠把執行建構函式和解構函式的任務強加於malloc/free. 3,因此C++語言需要一個能完成動態記憶體分配和初始化工作的運算子
Time of Update: 2018-12-05
最近修改了一下.可以更方便的用在各個表單上了代碼也簡潔很多.直接引用一下就能使用不過只處理了視窗的左上右三個方向 .下邊沒處理/// <summary> /// 視窗停靠隱藏類 /// 使用方法 /// private FormDock formDock = null; /// formDock = new FormDock(this,300); /// </summary> public class FormDock {
Time of Update: 2018-12-05
委託、事件與Observer設計模式範例說明上面的例子已不足以再進行下面的講解了,我們來看一個新的範例,因為之前已經介紹了很多的內容,所以本節的進度會稍微快一些:假設我們有個高檔的熱水器,我們給它通上電,當水溫超過95度的時候:1、擴音器會開始發出語音,告訴你水的溫度;2、液晶屏也會改變水溫的顯示,來提示水已經快燒開了。現在我們需要寫個程式來類比這個燒水的過程,我們將定義一個類來代表熱水器,我們管它叫:Heater,它有代表水溫的欄位,叫做
Time of Update: 2018-12-05
事件的由來我們繼續思考上面的程式:上面的三個方法都定義在Programe類中,這樣做是為了理解的方便,實際應用中,通常都是 GreetPeople 在一個類中,ChineseGreeting和 EnglishGreeting 在另外的類中。現在你已經對委託有了初步瞭解,是時候對上面的例子做個改進了。假設我們將GreetingPeople()放在一個叫 GreetingManager的類中,那麼新程式應該是這個樣子的:namespace Delegate {
Time of Update: 2018-12-05
C# 參考之方法參數關鍵字:params、ref及out 如果在為方法聲明參數時未使用 ref 或 out,則該參數可以具有關聯的值。可以在方法中更改該值,但當控制傳遞迴調用過程時,不會保留更改的值。通過使用方法參數關鍵字,可以更改這種行為。params params 關鍵字可以指定在參數數目可變處採用參數的方法參數。在方法聲明中的 params 關鍵字之後不允許任何其他參數,並且在方法聲明中只允許一個 params 關鍵字。 樣本 :字面意思比較難懂,所以看樣本很有用。//
Time of Update: 2018-12-05
在本文中我首先通過一個GreetingPeople的小程式向大家介紹了委託的概念、委託用來做什麼,隨後又引出了事件,接著對委託與事件所產生的中間代碼做了粗略的講述。在第二個稍微複雜點的熱水器的範例中,我向大家簡要介紹了 Observer設計模式,並通過實現這個範例完成了該模式,隨後講述了.Net Framework中委託、事件的實現方式。本文的源碼: delegates-and-events.rar
Time of Update: 2018-12-05
事件和委託的編譯代碼這時候,我們不得不注釋掉編譯錯誤的行,然後重新進行編譯,再藉助Reflactor來對 event的聲明語句做一探究,看看為什麼會發生這樣的錯誤:public event GreetingDelegate MakeGreet;可以看到,實際上儘管我們在GreetingManager裡將 MakeGreet 聲明為public,但是,實際上MakeGreet會被編譯成
Time of Update: 2018-12-05
HashTable中的key/value均為object類型,由包含集合元素的儲存桶組成。儲存桶是 HashTable中各元素的虛擬子組,與大多數集合中進行的搜尋和檢索相比,儲存桶可令搜尋和檢索更為便捷。每一儲存桶都與一個雜湊碼關聯,該雜湊代 碼是使用雜湊函數產生的並基於該元素的鍵。HashTable的優點就在於其索引的方式,速度非常快。如果以任意類型索引值訪問其中元素會快於其他集合,特 別是當資料量特別大的時候,效率差別尤其大。 HashTable的應用場合有:做對象緩衝,樹遞迴演算法的替代,
Time of Update: 2018-12-05
using System;using System.Globalization;namespace ConvertDateTime{/// <summary>/// ConvertDateTime の概要の説明です。/// </summary>public class ConvertDate{ public ConvertDate() {} //**********************************************************
Time of Update: 2018-12-05
NET泛型程式設計已經離我們不遠了,在微軟最近隨SQL Server Yukon Beta1發行的.NET Framework 1.2中就已經有了泛型的影子。雖然現在它還是問題多多,但是相信隨著新版.NET Framework的正式發行,這些問題會得到解決。因此我們也該為.NET泛型程式設計做些準備了。
Time of Update: 2018-12-05
最近頻繁的接觸到泛型方面的問題,所以也不得不來學習一下了,開始主要是在MSDN的WebCast上去下載教學錄象看的(李建忠老師的),本篇文章先介紹一下泛型入門方面的知識,希望能讓剛開始學習泛型的朋友能夠更快的入門,言歸正傳,首先我們來看一下泛型的基本概念。 最顯著的一點就是它參數化了類型,把類型作為參數抽象出來,從而使我們在實際的運用當中能夠更好的實現代碼的重複利用,同時它提供了更強的型別安全,更高的效率,不過在約束方面,它只支援顯示的約束,這樣在靈活性方面就顯得不是那麼好了。我覺得它之所
Time of Update: 2018-12-05
C#貨幣格式轉化執行個體向你介紹了一點在C#貨幣格式轉化時所用到的小技巧,希望通過這個執行個體使你瞭解C#貨幣格式轉化的使用細節,對你學習C#貨幣格式轉化方面有所協助。C#貨幣格式轉化1.格式化輸入資料為貨幣格式本執行個體主要用NumberFormatInfo類的CurrencyGroupSeparator屬性格式化輸入資料為貨幣格式。CurrencyGroupSeparator屬性擷取或設定在貨幣值中對小數點左邊數字進行分組的字串。運行程式,在輸入資料文字框中,輸入數字,單擊“格式化輸入資料為
Time of Update: 2018-12-05
簡介序列化是指將對象執行個體的狀態儲存到儲存媒體的過程。在此過程中,先將對象的公用欄位和私人欄位以及類的名稱(包括類所在的程式集)轉換為位元組流,然後再把位元組流寫入資料流。在隨後對對象進行還原序列化時,將建立出與原對象完全相同的副本。在物件導向的環境中實現序列化機制時,必須在易用性和靈活性之間進行一些權衡。只要您對此過程有足夠的控制能力,就可以使該過程在很大程度上自動進行。例如,簡單的二進位序列化不能滿足需要,或者,由於特定原因需要確定類中那些欄位需要序列化。以下各部分將探討 .NET
Time of Update: 2018-12-05
在android的設計中,Google設計了一套專門為嵌入式裝置使用的bionic C庫,以替換原有的GUN Libc,這個精簡的bionic庫據說只有200多K,所以如果只想使用這個精簡的C庫像在linux下一樣
Time of Update: 2018-12-05
1. 聲明系統API: [DllImport("user32.dll", EntryPoint = "RegisterHotKey", SetLastError = true, ExactSpelling = true, CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern bool RegisterHotKey(IntPtr hWnd,
Time of Update: 2018-12-05
用了兩個晚上,產生灰階圖片用到了ColorMatrix類,要設定一個5*5的參數矩陣,不懂那個在MSDN上抄了他的矩陣,在做拖動時有兩個地方理解錯誤浪費了很多時間,記錄在此:1.拖進,e.Data.GetData(DataFormats.FileDrop)的參數一開始認為是DataFormats.Bitmap,返回的Data認為是Bitmap的資料其實錯了,正確的代碼如下: Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-05
原文:http://blog.csdn.net/much0726/archive/2009/01/07/3725563.aspxLog4日誌組件的應用確實簡單實用,在比較了企業庫和Log4的日誌功能後,個人覺得Log4的功能更加強大點.補充說明下,我使用的企業庫是2.0版本,Log4net是1.2.1版本的.在Log4net的應用上,已經有人做了說明分析了,在本文中,主要解析下Log4net中的RollingFileAppender的應用.主要參考了Log4net的協助文檔.在項目中的log4n
Time of Update: 2018-12-05
使用C#建立單元測試運行時,系統會自動建立一個目錄如:"...\水木源華電網監測系統\TestResults\水木源華065_SMYH065 2009-12-13 22_19_53\Out"運行測試案例,但系統預設只把依賴項複製到這個Out目錄下而不會複製一些設定檔,即使放到了bin\debug下面它也不會複製,因此需要調整測試的部署項。在vs2008下 再次運行測試案例時,系統就會自動把這些檔案部署到Out目錄裡了,運行一段時間後 TestResults
Time of Update: 2018-12-05
一、建立網頁<html><head> <meta http-equiv="Content-Language" content="zh-cn"> <script language="javascript" type="text/javascript"> <!-- 提供給C#程式調用的方法 --> function messageBox(message)