Time of Update: 2018-12-07
1. abstract 修飾符指示所修飾的內容缺少實現或未完全實現。 abstract 修飾符可用於類、方法、屬性、索引器和事件。在類聲明中使用abstract修飾符以指示某個類只能是其他類的基類。標記為抽象或包含在抽象類別中的成員必須通過從抽象類別派生的類來實現。(1)抽象類別具有以下特性:1) 抽象類別不能執行個體化。2) 抽象類別可以包含抽象方法和抽象訪問器。3) 不能用 sealed 修飾符修飾抽象類別,因為這兩個修飾符的含義是相反的。採用 sealed 修飾符的類無法繼承,而
Time of Update: 2018-12-07
今天在做報表統計的時候,遇到將報表產生到指定的位置去,在網上找了一些資料,整理了一下,分享一下。 1.在C#中使用FolderBrowserDialog類,就可以實現選擇檔案夾的功能,並將所選擇的的檔案夾路徑記錄下來。 (1).首先先引入命名空間System.Windows.Forms; (2).然後在應用程式的主進入點,也就是static void Main()方法上面加上[STAThread]屬性; /// <summary> ///
Time of Update: 2018-12-07
.Net本身沒有封裝對捷徑的操作類,所以要在C#中操作捷徑,需要藉助“外力”。市面上常見的方法是通過Windows Script Host Object Model這個COM組件來完成。這種方法的缺憾是你的程式必須帶上Interop.IWshRuntimeLibrary.dll這個檔案(不過也許可以把這個dll併入exe中再動態載入什麼的)。Anyway~今天說的是另一個途徑——WMI(Windows Management
Time of Update: 2018-12-07
上面一篇文章大致描述了一下外掛程式開發架構整體結構。這篇描述一下核心層的設計和實現。至於核心層的設計,我想借鑒 一下微核心的思想。核心層只負責實現下面幾個功能:1、 外掛程式的載入,檢測,初始化。2、 服務的註冊。3、 服務的調用。4、 服務的管理。外掛程式的載入,檢測,初始化 外掛程式的載入利用linux共用庫的動態載入技術。具體的方法可以看一下IBM網站的一篇資料《Linux 動態庫剖析》 。服務的註冊服務的註冊與調用採用表驅動的方法。核心層中維護一個服務註冊表。//外掛程式間互動訊息類型
Time of Update: 2018-12-07
前段時間在公司做了一個論壇屏蔽關鍵字的功能,我做的比較簡單、實用~ 現在拿出來給博友們分享下..也希望大家能頂頂我~ 建立一個txt的文本 . (代碼中讀取這個文字文件路徑就行,命名隨意) 裡面的內容一行代表一個,因為我是按行來遍曆迴圈讀取要屏蔽的關鍵字.然後用一個*號來屏蔽一個關鍵字, 例如: 在論壇中輸出"草泥馬",涉及到一些比較敏感的話題、名字,在一些推廣比較火爆的網站裡,都是不允許的,所以這裡會只顯示"***"。
Time of Update: 2018-12-07
一直都以為這兩者之間的三目運算子是沒有區別的,只是vb是用iif,c#是?:而已。但是上次用了一次vb的iif之後卻發現兩者之間簡直是天淵之別。先看下面的代碼Sub TestIIF() Dim d As DBNull = DBNull.Value Dim k As Integer = IIf(TypeOf d Is DBNull, 0, Convert.ToInt32(d)) Console.WriteLine(k) End Sub
Time of Update: 2018-12-07
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;namespace WS{ public partial
Time of Update: 2018-12-07
經常看到如下代碼: #ifdef _cplusplus extern "C" { #endif #include "XXX.h" #ifdef _cplusplus } #endif解釋: 這段代碼的含義是,如果當前的程式是C++程式,那麼下面引用的標頭檔是C檔案, 那如果當前程式不是C++呢?難道包含的就不是C檔案了嗎?當然不是,不管當前程式是什麼,這個XXX.h都是一個C檔案 那為什麼還要多此一舉呢? 原因: C++為了支援函數重載,將編譯後的函數名做了重整(mangled
Time of Update: 2018-12-07
已知有一個XML檔案(bookstore.xml)如下: <?xml version="1.0" encoding="gb2312"?> <bookstore> <book genre="fantasy" ISBN="2-3631-4"> <title>Oberon's Legacy</title> <author>Corets, Eva</author> <price>5
Time of Update: 2018-12-07
因工作需要,總結了幾種分隔字串的方法:1、用字串分隔:using System.Text.RegularExpressions; string str="aaajsbbbjsccc";string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);foreach (string i in sArray) Response.Write(i.ToString() +
Time of Update: 2018-12-07
/// <summary> /// 漢字轉拼音縮寫 /// /// Code By MuseStudio@hotmail.com /// /// 2004-11-30/// </summary>/// <param name="str">要轉換的漢字字串</param> /// /// <returns>拼音縮寫</returns> public string GetPYString(string str) {
Time of Update: 2018-12-07
Windows服務是獨立於登入使用者而工作的Windows應用程式,它通常在電腦啟動時開始執行,且常常連續執行,直到電腦關閉為止。像Exchange Server,IIS和殺毒軟體等都使用這種方式,這樣就可以獨立於某一使用者而且可以在任何使用者登入前來運行,同時也可以服務於所有的進程,從而以一種服務的形式存在。
Time of Update: 2018-12-07
一、簡介 大家都知道,目前比較流行的網路瀏覽器如Mozilla FireFox以及MyIE2等都具有多頁面瀏覽功能,每開啟一個新的頁面都自動產生一個新的索引標籤頁面面,頁面的關閉也十分簡便。這種設計思想使得使用者在瀏覽多個網頁時案頭十分簡潔,也避免了使用者等待單頁面顯示的苦惱。由於這些瀏覽器一般都支援操作多種檔案格式,所以當瀏覽本地機器上的多個檔案時也極為方便。 本文使用Visual C#詳細介紹如何?這種多頁面瀏覽功能。同時,還實現了下面附加功能: 列印,
Time of Update: 2018-12-07
4) 應該在程式命名空間聲明之前,包含下面的介面聲明以添加對Microsoft HTML (MSHTML) IOleCommandTarget介面的參照引用: using System;using System.Runtime.InteropServices;[StructLayout(LayoutKind.Sequential,CharSet=CharSet.Unicode)]public struct OLECMDTEXT{ public uint cmdtextf; public
Time of Update: 2018-12-07
1. 避免將多個類放在一個檔案裡面。 2. 一個檔案應該只有一個命名空間,避免將多個命名空間放在同一個檔案裡面。3. 一個檔案最好不要超過500行的代碼(不包括機器產生的代碼)。 4. 一個方法的代碼長度最好不要超過25行。5. 避免方法中有超過5個參數的情況。使用結構來傳遞多個參數。 6. 每行代碼不要超過80個字元。 7. 不要手工的修改機器產生的代碼。 a) 如果需要編輯機器產生的代碼,編輯格式和風格要符合該編碼通訊協定。b) Use partial classes
Time of Update: 2018-12-07
1 public float StrToFloat(object FloatString) 2 { 3 float result; 4 if (FloatString != null) 5 { 6 if (float.TryParse(FloatString.ToString(), out result)) 7 return result; 8 else 9
Time of Update: 2018-12-07
利用設計模式可以使我們的代碼更靈活,更容易擴充,更容易維護。各種物件導向的程式設計語言都提供了基本相同的機制:比如類、繼承、派生、多態等等。但是又有各自的特色,C#中的反射機制便是一個很重要的工具,好好地利用就可以在實際中發揮很大的作用。 我們來看一個例子: 我的程式中有需要一系列的對象,比如apple,orange…, 要想利用他們,我們就必須在程式中根據使用者要求,然後一個個調用
Time of Update: 2018-12-07
為了支援c++的多態性,才用了動態綁定和靜態繫結。理解他們的區別有助於更好的理解多態性,以及在編程的過程中避免犯錯誤。 需要理解四個名詞: 1、對象的靜態類型:對象在聲明時採用的類型。是在編譯期確定的。 2、對象的動態類型:目前所指對象的類型。是在運行期決定的。對象的動態類型可以更改,但是靜態類型無法更改。 關於對象的靜態類型和動態類型,看一個樣本:view plaincopy to clipboardprint?class B { } class C :
Time of Update: 2018-12-07
最近一直在學習OSGI方面的知識。買了一本《OSGI原理和最佳實務》,可是還沒有到。遺憾的是,OSGI目前的幾個開源架構只支援Java,對C和C++都不支援的。可惜我們公司目前主要的開發語言還是c和c++,即便是引進OSGI,所得的好處範圍有限。而我對鬆散耦合的模組化開發嚮往已久。查了一下OSGI對C++支援的好像是有一個開源項目,不過好像應用範圍很小。而SCA標準中是有對C++實現模型的支援的,但是幾個開源的架構目前還只支援JAVA。昨天看了丁亮的轉載的一篇部落格《C/C++:構建你自己的外掛
Time of Update: 2018-12-07
使用信元流(TLVStream)規範、簡化模組(C/C++)間互動 收藏 問題描述: 在軟體開發過程中,一般會對複雜的現實世界進行抽象,並且採用分而治之的策略,將大系統分解為子系統,將子系統分解為一個個的模組。模組間的通訊一般採用函數調用的方式,這樣會產生一些問題: 1. 模組間的介面增多會導致模組間緊密耦合,不利於模組的重用、調試、維護。 2. 介面函數參數會很複雜,容易出現很龐大,功能面面俱到的結構體。 3.