Time of Update: 2018-12-07
前次發了一個隨筆《你也使用託管C++嗎?》,結果來了一個提問: “我想問一下,在能將現有的C++代碼直接進行封裝,被C#進行調用,而不是去調用DLL,也就是不產生DLL,就在C#下能直接調用VC的工程源檔案不?” 我想,提問的人是不是指,現有c++源碼,但不想費勁去轉換成C#源碼,但又想能與C#一起編譯。 於是我就給了一個極其變態的方法,純屬惡搞。方法如下: 1 先將C++源碼,改用CLR編譯選項,編譯成.NET的Assembly(DLL檔案)。
Time of Update: 2018-12-07
firelong我真得希望你來看一看,可惜上一篇你錯過了。c#會這麼慢的話題卻是始終充滿著火藥味,也許說真話真的很不動聽, 可能上次的文章firelong沒看到,討論C#哪能錯過微軟,.NET戰略是微軟當年的號稱終極兵器的究級必殺技,C#和微軟不得不說的故事才是C#為什麼會這麼慢的最終解釋。首先我們要明白,C#的媽-微軟是幹什麼的。微軟是世界上最大的作業系統軟體供應商,現在微軟最大的現金收入是來自,作業系統,資料庫軟體和office。微軟想要的是什麼,是賣出更多的作業系統,更多的資料庫軟體...
Time of Update: 2018-12-07
Effective C# 原則35:選擇重寫函數而不是使用事件控制代碼Item 35: Prefer Overrides to Event
Time of Update: 2018-12-07
Effective C# 原則36:利用.Net運行時診斷Item 36: Leverage .NET Runtime
Time of Update: 2018-12-07
在我的第一篇blog發表之後,得到大家的支援,我的工作得到了認可,感到很開心。當然,很多朋友也提出了很多出色的見地。我想在這裡說明一下我對這些問題的理解。 我所完成的控制項是一個用來擷取用戶端網路攝影機圖片並儲存在特殊檔案夾裡,然後上傳到伺服器的ActiveX控制項。給大家一個。
Time of Update: 2018-12-07
使用 C# 2.0 的泛型,使得實現我所說的"單例提供者"成為可能。這是一個可用來建立單例類執行個體確不需要為每個特定的類重寫單例模式代碼的可重用的類。這樣分離出單例結構的代碼,將有利於保持按單例模式使用類或不按單例模式使用類的靈活性。 /// <summary> /// 單例提供者 /// </summary> /// <typeparam name="T">需要的類</typeparam> public
Time of Update: 2018-12-07
C#2.0編譯器有個瘕疵,在開發過程中常常讓人哭笑不得。被鬱悶了。主要發生在碼代碼時,將關鍵字打錯的情況。我就舉兩個例子。例1:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> public class PacketId { public cosnt
Time of Update: 2018-12-07
在平時做架構架構設計的時候,頭疼之一的是處處得採用反射,但有了C#4.0,發現dynamic完全可以取代反射,這個功能讓我有些激動,立馬在VS2010將日誌跟蹤器架構裡的第一個反射的代碼升級到C#4.0,結果一點都不令人失望,代碼簡化了很多。先看看用dynamic替換反射後的代碼吧: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 using
Time of Update: 2018-12-07
先把重點寫在前頭:http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=csharpfuture&ReleaseId=1686以上這個地址是下載官方C#4.0的最新文檔和Sample Code,而以下正是我看到第一個例子,關於Office的操作。可見它的例子品質還是蠻高的,值得學習,所以分享給大家,也許有些人已經知道這個連結,如果不能下載,留言告訴我,我到時下載到cnblogs裡。 前言:從C#1.
Time of Update: 2018-12-07
一、asp.net中匯出Excel的方法:在asp.net中匯出Excel有兩種方法,一種是將匯出的檔案存放在伺服器某個檔案夾下面,然後將檔案地址輸出在瀏覽器上;一種是將檔案直接將檔案輸出資料流寫給瀏覽器。在Response輸出時,t分隔的資料,匯出Excel時,等價於分列,n等價於換行。 1、將整個html全部輸出Excel此法將html中所有的內容,如按鈕,表格,圖片等全部輸出到Excel中。 Response.Clear(); Response.Buffer=
Time of Update: 2018-12-07
(續上篇)
Time of Update: 2018-12-07
如何用CSC.exe來編譯Visual C#的代碼檔案CSC.exe把Visual C#程式碼編譯成IL檔案時,有著很多參數和開關選項。正確的瞭解和運用這些參數和開關有時會解決一些看似很棘手的問題。下面就通過一張表來大致說明一
Time of Update: 2018-12-07
昨夜月黑風高,小風搜搜地吹著,引得浪濤陣陣,園子裡一番雞飛狗跳,好不熱鬧。這是為什麼捏?起因就是因為一篇炮貼,起初是linus大牛炮轟c++,後來某大牛引入園子裡
Time of Update: 2018-12-07
Effective C# 原則17:裝箱和拆箱的最小化Item 17: Minimize Boxing and Unboxing 實值型別是資料的容器,它們不具備多太性。另一方面就是說,.Net架構被設計成單一繼承的參考型別,System.Object,在整個繼承關係中做為根對象存在。設計這兩種類型的目的是截然不同的,.Net架構使用了裝箱與拆箱來連結兩種不同類型的資料。裝箱是把一個實值型別資料放置在一個無類型的引用對象上,從而使一個實值型別在須要時可以當成參考型別來使用。拆箱則是額外的從“箱”
Time of Update: 2018-12-07
Effective C# 原則29:僅在對基類進行強制更新時才使用new修飾符Item 29: Use the new Modifier Only When Base Class Updates Mandate It 你可以用new修飾符來重新定義一個從基類中繼承來的非虛成員。你可以這樣做,但並不意味著需要這樣做。重新定義非虛方法會導致方法含意的混亂。如果兩個相關的類是繼承關係,那麼很多開發人員可能會立即假設兩段代碼塊是做完全相同的事情,而且他們也會這麼認為:object c =
Time of Update: 2018-12-07
Effective C# 原則33:限制類型的訪問Item 33: Limit Visibility of Your Types並不是所有的人都須要知道所有的事。也不是所有的類型須要是公用的。對於每個類型,在滿足功能的情況下,應該儘可能的限制存取層級。而且這些存取層級往往比你想像的要少得多。在一個私人類型上,所有的使用者都可以通過一個公用的介面來訪問這個介面所定義的功能。讓我們回到最根本的情況上來:強大的工具和懶惰的開發人員。VS.net對於他們來說是一個偉大的高產工具。我用VS.net或者C#
Time of Update: 2018-12-07
Effective C# 第五章:和Framework一起工作Chapter 5. Working with the Framework我的同事,也是我的朋友Martin Shoemaker研究一個很嚴肅的問題,那就是:“我必須寫這樣的.Net代碼嗎?”
Time of Update: 2018-12-07
Effective C# 原則38:使用和支援資料繫結Item 38: Utilize and Support Data Binding有經驗的Windows程式員一定對寫代碼從一個控制項上取值,以及把值儲存到控制項上很熟悉:public Form1 : Form{ private MyType myDataValue; private TextBox textBoxName; private void InitializeComponent( ) {
Time of Update: 2018-12-07
開始某個進程,例如,開啟記事本:Process process1 = new Process();process1.StartInfo.FileName = "NotePad.exe";process1.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;process1.Start(); 終止某個進程:Process[] p = Process.GetProcessesByName("NotePad");if (p.Length >0
Time of Update: 2018-12-07
首先我覺得有必要把.net平台下開發webservice進行一個比較全面的闡述,web service的最初產生是在電子商務的環境下出現的,有些問題通過傳統的手段已經不容易解決,比如在應用程式之間進行商務通訊、資料交換,使用DCom、CORBA等二進位機制的東西已經行不通了,姑且不說他們受各自平台的限制,比如DCom(Distribute Common Objects Model)只能在Windows平台下進行,而CORBA(Common Objects Request Broker