c++(/clr)非託管類型和託管類型互轉

以下代碼必須有“Common Language Runtime Support(/clr)” 和“MFC”支援1. 字元竄之間的轉換 1 // 託管類型到非託管類型 2  inline CString ManageToUnManageStr(System::String^ cmStr) 3 { 4 using namespace System::Runtime::InteropServices; 5 CString cStr =

解決繪圖中閃爍的問題(C#)

如果你在Form中繪圖的話,不論是不是採用的雙緩衝,都會看到圖片在更新的時候都會不斷地閃爍,解決方案就是在這個表單的建構函式中增加以下三行代碼:請在建構函式裡面底下加上如下幾行:SetStyle(ControlStyles.UserPaint, true);SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.SetStyle(ControlStyles.DoubleBuffer, true); //

[置頂] 在C#中SendMessage和PostMessage的參數傳遞

用 PostMessage、SendNotifyMessage、SendMessageCallback 等非同步函數發送系統訊息時,參數裡不可以使用指標,因為寄件者並不等待訊息的處理就返回,接受者還沒處理指標就已經被釋放了。5、在 Windows 2000/XP 裡,每個訊息佇列最多隻能存放 10,000 個 Post的訊息,超過的還沒被處理的將不會被處理,直接丟掉。這個值可以改得更大:[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows

C#對系統註冊表操作的類

using System;using System.Collections.Generic;using System.Text;using Microsoft.Win32; //對註冊表操作using System.Collections; //使用Arraylistusing System.Security.Cryptography;//加密解密using System.IO;    //檔案操作using System.Runtime.InteropServices;//調用DLL

用C#調用Windows API向指定視窗發送

原文轉載自http://www.51testing.com/?uid-175761-action-viewspace-itemid-227073一、調用Windows API。 C#下調用Windows API方法如下: 1、引入命名空間:using System.Runtime.InteropServices; 2、引用需要使用的方法,格式:[DllImport("DLL檔案")]方法的聲明; [DllImport("user32.dll")]private static extern

C#中匯出Excel報表的方法

         在上篇博文中提到了C#執行Excel宏模版的方法,這篇我們來介紹下怎麼樣將模版匯出,並產生報表。winform中簡單的範例程式碼如下:public ExportTextReport(){            string strTempReportPath = "xxxxReport.xls";//匯出報表的路徑            string strTemplatePath = "xxxxTemplate.xls";//報表模版的路徑                  

c# 判斷網路是否串連

win32   API函數的做法:   要用的函數:InternetGetConnectedState   函數原形:BOOL   InternetGetConnectedState(LPDWORD   lpdwFlags,DWORD   dwReserved);   參數lpdwFlags返回當前網路狀態,參數dwReserved依然是保留參數,設定為0即可。   INTERNET_CONNECTION_MODEM   通過調治解調器串連網路  

C#擷取當前系統資訊的類

 /// <summary>    /// Class designed to give information    /// about the current system    /// </summary>    public static class Environment    {        #region Public Static Properties        /// <summary>        /// Name of the

[置頂] C#中 Process的擴充類ProcessExtensions

/// <summary>    /// Process extensions    /// </summary>    public static class ProcessExtensions    {        #region Functions        #region KillProcessAsync        /// <summary>        /// Kills a process        ///

ojective-c convert to pascal pattern

 Case I. Simple Class Objective-C XE4 // Protocol@protocol mycalcEvent- (void) oncalcEventA : (int) inx ext1:(int) extInx1;- (void) oncalcEventB : (int) inx ext1:(int) extInx1;@end // ObjC Class : mycalc -------@interface mycalc : NSObject {    BOOL 

執行個體 C#3.0與C#2.0相比之新特性(三)—匿名型別 匿名變數

在C#3.X中引進了var這個新關鍵字,在聲明局部變數時可用於替代原先的類型名,即當一個變數宣告身份識別為var類型並且該範圍域中沒有var名稱類型存在,那麼這個聲明就稱為隱含類型局部變數。先來看個完整的DEMO吧:CodeCode highlighting produced by Actipro CodeHighlighter

用c#小程式理解線程

CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;using System.Collections.Generic;using System.Text;using System.Threading;namespace ConsoleApplication1{class Program {static void

C# 中的變參

        C#中的方法需要一個明確的方法簽名,簽名包括以下內容:傳回型別、方法名稱和參數列表。有時也包括訪問限制符。        簽名中的參數列表中的參數數目包括固定和不固定兩種類型,數目固定的情況是我們經常見到的,不固定的則是很少見的。        例如,當我們需要實現一個整數加法的時候,可能首先想到的是下面的形式:CodeCode highlighting produced by Actipro CodeHighlighter

Effective C# Item35:重寫優於事件處理器

    .NET中許多類都提供了兩種不同的途徑可以處理來自系統的事件,一方面我們可以使用事件處理器,另一方面我們可以重寫基類的虛方法。這兩種方式有各自不同的用途,在衍生類別中,我們應該使用重寫虛方法的方式,來處理系統事件。    關於上述兩種方式,我們看以下的代碼。代碼Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 public class

Effective C# Item10:理解GetHashCode()方法的缺陷

    GetHashCode()方法的用途:為一個基於散列的集合定義鍵的散列值,典型的散列集合包括HashTable和Dictionary。如果我們定義的類型在散列集中不會被用作鍵的話,那麼不用關心它的GetHashCode()方法是否高效和正確。   

Effective C# Item22:使用事件定義外發介面

    事件為類型定義了外發介面,C#的事件是建立在委託的基礎上的,委託為事件處理器提供了型別安全的函數簽名。    委託要比事件的使用範圍廣泛,我們可以把事件看做是一種經過了封裝的委託,專門用於事件驅動模型。你可以在客戶代碼中直接調用委託來激發委託指向的函數,而事件不可以,你只能在服務端呼叫事件,在用戶端呼叫事件是會引發編譯錯誤的。我們來看下面的程式。代碼Code highlighting produced by Actipro CodeHighlighter (freeware)http:/

Effective C# Item29:只有當新版基類導致問題時才考慮使用new修飾符

    我們一般在類成員上使用new修飾符,來重新定義繼承自基類的非虛成員,但是我們不建議這麼做,因為重新定義非虛方法會導致含混不清的行為。    非虛方法是靜態繫結的,編譯器並不會根據對象的運行時類型來判斷應該調用哪個方法;而虛函數使用的是動態綁定,編譯器會根據對象的運行時類型來判斷應該調用哪個方法。    避免使用new

More Effective C# Item8 :儘可能使用泛型方法,除非需要將型別參數用於執行個體的欄位中

    我們需要來討論一下泛型類和泛型方法的取捨。    一般情況下,我們很容易的被泛型型別的定義限制住,但是很多情況下,我們使用泛型方法就可以了。之所以推薦泛型方法,是因為當使用泛型類時,C#編譯器必鬚根據給出的約束為整個泛型類產生合法的IL,而且給出的約束也必須滿足整個類的需要;而泛型方法只需要為滿足泛型方法的約束就可以了,這樣我們可以在同一個類中針對不同的方法設定不同的約束,編譯器根據不同的約束來匹配不同的重載形式,同時使用者也會覺得更加清晰。    來看下面的代碼。代碼Code

Effective C# Item32:儘可能實現小尺寸、高內聚的程式集

    我們在劃分程式集時,經常會犯的一個錯誤:在一個程式集中放入了太多的東西,導致程式集很難被重用。    一個好的程式集應該是“高內聚”的,所謂內聚,是指將程式集封裝為一個有意義、有職責的單位,它一般可以用一句話簡單的話來描述,例如.NET架構中的System.Collection程式集就為儲存一組相關的對象提供了資料結構。我們不能這麼說:MyApplication程式集提供了任何我們所需的功能,這樣的描述太過散漫了。   

Effective C# Item13:使用靜態構造器初始化靜態類成員

    在建立類型的任何執行個體之前,我們需要初始化這個類型中的靜態成員變數,C#可以通過靜態初始化器或者靜態建構函式來完成這個任務,其中靜態構造器是一個特殊的函數,它會在一個類的任何方法、變零或者屬性被訪問之前執行。    我們不應該使用類型的樣本建構函式或者類型中的某些非靜態方法來初始化類型的靜態成員變數。    如果靜態成員初始化的過程不複雜,那麼我們可以在類型的初始化器中對其進行初始化;如果靜態成員初始化時,需要執行大量的邏輯操作,那麼我們可以將其初始化的過程提取到靜態建構函式中。   

總頁數: 4314 1 .... 2066 2067 2068 2069 2070 .... 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.