一個C#線程間通訊的小例子

先看以下代碼: using System;using System.Text;using System.Windows.Forms;using System.Threading; namespace 線程間通訊{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }       

C#編寫Windows服務的基本過程)

 編寫Windows服務是一種比較進階的編程技術,內部使用了很多Windows作業系統的核心功能,但微軟.NET架構已經很好的封裝了這些技術細節,使得我們可以很方便的使用C#編寫自己的Windows服務,其基本過程一般為1.       建立C#工程。建立一個EXE工程,可以是WinForm或者命令列格式的。添加對System.ServiceProcess.dll和System.Configuration.Install.dll的引用。2.      

C#中用滑鼠移動頁面功能的實現

項目中需要實現以下功能:預覽列印控制項中,可以用滑鼠拖動頁面,以查看超出顯示範圍之外的部分內容。該功能本來可以通過拉動水平和垂直捲軸來實現,但實際使用中,使用者更趨向於直接用滑鼠拖動頁面來實現,很多看圖類軟體都有這種類似的功能。而.net的預覽列印控制項卻很遺憾的沒有提供這一功能,只來自己想辦法來實現啦。呵呵,不過辦法總是有的。我的辦法就是用代碼來控制預覽列印控制項中的水平來垂直捲軸的位置,間接實現和用滑鼠直接拖動捲軸一樣的效果。在實現這一功能的過程中,最大的困難是預覽列印控制項並沒有讓程式員直

C#中路徑的幾種擷取方法及其區別

string str1 =Process.GetCurrentProcess().MainModule.FileName;//獲得當前執行的exe的檔案名稱。string str2=Environment.CurrentDirectory;//擷取和設定目前的目錄的完全限定路徑。string str3=Directory.GetCurrentDirectory();//擷取應用程式的當前工作目錄。string str4=AppDomain.CurrentDomain.BaseDirectory;

國人必看《C形包圍》(強薦)

《C形包圍》作者戴旭.如果你還沒有看過,那麼,我,作為一個中國人,作為一個關於祖國未來命運和前途的中國人,強烈推薦大家下載並閱讀這本書.你一定會為戴旭的觀點和演講所震撼的.

C#物件導向設計模式第十三講:Proxy 代理模式(結構型模式)

(根據MSDN Webcast 相關課程整理)直接與間接: 對於複雜的系統,我們常常在使用時添加一個中介層,從而屏蔽一些不常用的功能,或簡化一些常用功能等,從而達到用簡單靈活的方法滿足特定的需要的目的。 如:A訪問B時,每訪問一次B,就需要調用一次B對象,由於B對象的複雜性,調用開銷較大,尤其是B處於分布式應用當中時。另一方面,直接調用複雜的對象,暴露了過多的A不需要的介面,造成不安全性。 加是中介層C以後,簡化了B的介面與複雜性,使得A對C的訪問簡單靈活安全,

C#物件導向模式設計第十四講:Template Method 模板模式(行為型模式)

(根據MSDN WebCast相關課程整理)變化是軟體設計中永恒的主題,如何管理變化帶來的複雜性?設計模式的藝術性與複雜度就在於如何分析並發現系統中的變化點和穩定點,並使用特定的設計方法來應對這種變化。 事件架構穩定,而子步驟經常改變。 GoF:定義一個操作中的演算法的架構,而將一些步驟延遲到子類中,Template Method使用是子類可以不改變一個演算法的結構即可以重定義該演算法的某些特定步驟。

C#中完美複製參考型別的對象

我們都知道,在C#中,對於複雜物件,每聲明一個牸類型的變數a,並用個該類型的對象A給這個變數賦值的時候,其實是讓這個變數a指向了對象A,在記憶體中並沒有多產生一個對象A的執行個體.所以不管我們聲明多少個等於A的變數,其實際上永遠都只有一個A存在於記憶體中.這就是我們常說的參考型別的特性.參考型別的這一特性的好處是不言無喻的,然而,它也給我們帶了一小點不便,那就是有時候,偶爾我們需要在記憶體中有兩個所有屬性值都一模一樣的對象A和B,這樣便於對B做操作而不影響到A.有人說那New兩次不就有兩個一模一

C#物件導向設計模式第七講:Adapter Pattern 適配器模式(結構型模式)

根據MSDN Webcast相關課程整理)適配:在不改變原有實現的基本上,將原先不相容的介面轉換成相容的介面。 GoF:將一個類的介面轉換成客戶需要的另一個介面,便得原來由於介面不相容而不能一起工作的那些類可以一起工作。 對象適配器: 將現有類作為適配器的一個欄位,並繼承客戶程式希望的介面類。 Adapter才是我們需要建立並實現的類。 以下樣本展示如何利用現有對象ArrayList來實現客戶程式需要的Stack形式的介面功能: 建立適配器: 類適配器:(不推薦)

C#物件導向設計模式第八講:Bridge 橋接模式(結構型模式)

根據MSDN Webcast相關課程整理)GoF:將抽象部分與實現部分分離,使它們都可以獨立地變化。 如所示: 顯然,當實現細節b易變時,我們通常考慮採用原型模式來構造系統。然而,當抽象B由於某種原因也容易變動時,即易變對象從兩個維度或更多方向上發生改變,我們就應該考慮橋接模式啦。

Android使用ksoap2調用C#webservice

1,在AdroidManifest.xml中加入許可權   <uses-permission android:name="android.permission.INTERNET"/>2,匯入ksoap2包3,private String NameSpace="命名空間";   private String Url="---.asmx";//WebService發布地址   private String MethodName="方法名";   private String

C#實現網卡IP地址自由切換

需求:筆記本經常要在不同的地點串連網路,而各地的網路IP配置各不相同,這就導致不時的更改網卡的IP地址設定。Windows上更改IP設定很不方便,於是希望能夠開發一款能夠適用於不同網路,不同網卡的快速IP地址切換程式。分析:關鍵在於如何?對網路介面卡的配置。其實,MS為我們提供了System.Management

C#物件導向設計模式第二講:Singleton Pattern單件模式(建立型模式)

(根據MSDN Webcast相關課程整理)模式分類: 從目的來看: 建立型(Creational):負責對象的建立 結構型(Structural):處理類與對象間的組合 行為型(Behavioral):類與對象互動中的職責分配 從範圍來看: 類模式:處理類與子類的靜態關係 對象模式:處理對象間的動態關係 單件模式下的類,保證該類在系統中只有一個執行個體,以確保邏輯的正確性與效率。

C#物件導向設計模式第三講:Abstract Factory Pattern 抽象原廠模式(建立型模式)

(根據MSDN Webcast相關課程整理) new的問題:實現依賴,不能應對具體執行個體化類型的變化。(當執行個體對象發生變化時,無法滿足需求) 例: 當Road發生容易發生變化時,如有可能變成MudRoad時,需要修改系統中所有new 到Road的地方。 解決思路: 封閉變化點——哪兒變化封閉哪兒;如果new的類型比較穩定,基本沒有變化時,就不需要封裝啦。 建立的對象容易發生變化,因此就要封裝對象建立的過程。 面向介面編程:依賴介面,而不是依賴實現

C#物件導向設計模式第四講:Builder Pattern產生器模式(建立型模式)

(根據MSDN Webcast相關課程整理) 產生器模式的緣起: 一個類中主結構(將各個成員組合在一起的構建方法)基本穩定,但內部的幾個組成部分可能經常存在變化。 GOF:將一個複雜物件的構建與其表示相分開,使得同樣的構建過程可以建立不同的表示。 構成主類的某引動部分成員PartA和B是常變化的,而建立器的演算法方式不變,客戶程式通過Director的Construct方法,傳入不同的產生器,從而完成不同類型對象的建立。

C#物件導向設計模式第五講:Factory Method Factory 方法(建立型模式)

(根據MSDN Webcast相關課程整理)耦合關係直接決定軟體面對變化時的行為。 緊耦合時,當一個模組變化時,相關模組都要隨之更改;依賴關係複雜 松耦合時,模組更容易被替換或更改,而其他相關模組可以保持不變。依賴關係簡單(小圓點表示介面) 不要局限於某種設計模式採用的固定方法,只要能有效解決這種模式要解決的問題,那這種方法就屬於這種設計模式。

C#物件導向模式設計第十八講:Iterator 迭代器模式(行為型模式)

(根據MSDN WebCast相關課程整理)解決集合和訪問的問題。集合內部結構主要有鏈表式,順序式等。組件開發人員往往希望在不暴露組件內部結構的前提下,提供靈活的外部存取。GoF:提供一種方法順序的訪問一個彙總對象中的各個元素,而不暴露對象的各個組織圖。MyEnumerator繼承自IEnumerator,因此同樣相同的欄位和方法。在MyCollection中,通過GetEnumable()方法,獲得MyEnumerator對象,從而實現對MyCollection中對象的順序訪問。在C#環境中,

C#物件導向模式設計第二十講:Chain Responsibility 職責鏈模式(行為型模式)

(根據MSDN WebCast相關課程整理)在一些情況下,請求的接收者可能多種多樣,變化無常,如所示: 請求的寄件者需要維護多個耦合,以處理請求資訊的傳達。這就存在多個強耦合。 GoF:使多個對象都有機會處理請求,從而避免請求的寄件者和接收者的耦合關係,將這些對象連成一條鏈,並沿著這條鏈傳遞請求,直到有一個對象處理了它為止。

C#物件導向模式設計第二十一講:Memento 備忘錄模式(行為型模式)

(根據MSDN WebCast相關課程整理)對象狀態變化無端,如何回溯或恢複這些對象在某個點的狀態呢? GoF:在不破壞對象封裝性的前提下,捕獲一個對象的內部狀態,並在該對象外儲存這個狀態,這樣以後就可以將這個對象恢複到之前的狀態。 將對象的狀態儲存到了外部的Memento對象中,而在原發器對象內容提供儲存狀態和恢複狀態的操作。而備忘錄對象則只負責儲存對象的狀態,不支援原發器對象的所有操作。 也可以使用複製對象或序列化來儲存對象的狀態,我們可以根據實際情況和需要來選擇。 《完》

C#物件導向模式設計第十九講:Observer 觀察者模式(行為型模式)

(根據MSDN WebCast相關課程整理)常用設計模式有23種,通常可以分為建立型(5種),結構型(7種)和行為型(11種)三大類型。 考察以下情境:ATM機操作中,當持人訂閱了簡訊,郵件等通知的話,當有人對卡面在ATM機上有操作時,就會即時發出簡訊或郵件。這就是所謂的觀察者模式。 當一個對象發生變化時,對它的變化感興趣的其它對象(訂閱了這個變化,即觀察者)都可以得到通知。 GoF:定義對象間的一種一對多的依賴關係,以便當一個對象的狀態發生變化時,所有依賴它的對象都能得到通知。

總頁數: 4314 1 .... 210 211 212 213 214 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.