Time of Update: 2018-12-07
ConfigurationElementCollection.ElementName屬性在MSDN的解釋是這樣:Gets the name used to identify this collection of elements in the configuration file when overridden in a derived
Time of Update: 2018-12-07
更新:一篇更全面的文章:http://www.cnblogs.com/mgen/archive/2011/11/28/2266010.html註:所有樣本均擬在Little Endian環境下運行在C/C++中,操作原始(預定義)資料類型的記憶體位元組分布很簡單,我們可以使用指標來這樣做:/***************************** C/C++ 代碼****************************/int i = 0xAA00FF;//i的記憶體儲存形式:FF 00
Time of Update: 2018-12-07
眾所周知:AppDomain.DoCallBack方法會在指定應用程式定義域中執行代碼,如果傳入委託是靜態,那麼委託正常進行。如果傳入委託是對象的成員函數,那麼這個對象會被封送(按值或者按引用)。當傳入委託是以Lambda運算式的形式,那麼有些地方值得注意。如果是傳入對外部變數捕獲的Lambda運算式,那麼DoCallBack方法總會拋出異常的,看下面代碼(這是一種錯誤的在另外一個應用程式定義域中建立Remoting對象的方法)using System;using System.Runtime.
Time of Update: 2018-12-07
今天一朋友問我一個問題:怎樣用集合初始設定項來初始化一個字典?他一直認為所謂集合初始設定項就是向一個類似List的容器中逐個添加資料,但是換成了字典一次需要兩個資料,一下不知道怎麼辦…… 我首先又一次強烈推薦他把MSDN當成解決一切問題的第一步嘗試,其實集合初始設定式MSDN裡闡述得很透徹(地址:http://msdn.microsoft.com/zh-cn/library/bb384062.aspx
Time of Update: 2018-12-07
版本更新請參考:更新列表 程式可以發送簡單的HTTP GET和POST資料包並接受和顯示HTTP回應包。 比如像“www.google.com”發送HTTP請求,然後結果如下: 也可以發送POST資料包,然後手動編輯POST包的內容: 程式還有一個URL構建功能,快速將文字資訊轉換成URL顯示的編碼供使用者使用,比如設定id=a b c,name=一二三: 結果: 比如我們進行Google搜尋,網址是www.google.com/search,然後參數是q=歐洲杯(“歐洲杯”是需要搜尋的內容)。
Time of Update: 2018-12-07
不同於之前的HttpWebRequest類型,在.NET 4.5中新的HttpRequestHeaders類型直接有一個Authorization屬性,對應類型是:AuthenticationHeaderValue,同樣在System.Net.Http.Headers命名空間內。AuthenticationHeaderValue有兩個屬性Parameter和Scheme。為了弄清這兩個參數在對Authorization屬性的作用,我們可以做一個簡單的測試:首先得記得加入.NET
Time of Update: 2018-12-07
通過繼承ConfigurationValidatorBase類,使用者可以自訂一個配置系統的驗證器,可是今天使用這種方法發現了一個問題:每個ConfigurationProperty在驗證其實際值前,都要對其預設值先進行一次驗證,注意這裡只是驗證一次,發生在驗證第一個ConfigurationProperty的值之前。表現形式就好像靜態建構函式似的。 比如下面的ConfigurationSection和ConfigurationValidatorBase代碼:(代碼類比驗證年齡必須大於等於15歲
Time of Update: 2018-12-07
簡單的改造一下,可以使ObservableCollection在任何有新成員加入的時候(注意包括已有成員被替換的情況),需要有一個事件進行通知,同時可以設定是否允許該新元素被加入。 原理很簡單,利用INotifyCollectionChanged介面的相關事件,來判斷新元素,然後出發自己的事件通知,最後根據事件EventArgs決定是否刪除這個新元素。 代碼://+ using System.Collections.ObjectModel;//+ using
Time of Update: 2018-12-07
目錄1. 不是必須要IEnumerable和IEnumerator2. 支援繼承IDisposable的IEnumerator 返回目錄1.
Time of Update: 2018-12-07
發現程式的一個BUG究其原因是因為在for迴圈中用委託捕獲了聲明變數(就是那個常見的變數i),這種情況會發生在當你捕獲了for迴圈的聲明變數,但是在聲明變數已經改變後才去調用委託,你期望得到捕獲變數時的值,但是得到的會是變數最終的值,即便變數類型是實值型別。來看這段代碼:var list = new Action[5];for (int i = 0; i < 5; i++){ list[i] = new Action(() => Console.WriteLine(i));}
Time of Update: 2018-12-07
首先ManagementEventWatcher繼承與Component類,因此也繼承IDisposable,注意使用後資源銷毀。ManagementEventWatcher.Query屬性是一個EventQuery對象,用來代表監控的WQL事件查詢語句。 對於同步事件查詢(調用線程會阻塞),使用WaitForNextEvent方法。無參數,返回一個ManagementBaseObject。對於非同步事件查詢(調用線程不會阻塞),使用Start方法。然後使用ManagementEventWatc
Time of Update: 2018-12-07
注意:這是另一篇文章“.NET(C#):淺談資訊清單資源和RESX資源”的一部分。所有提及類均在:System.Resources命名空間內。來看這三個類的常用成員:interface IResourceWriter: IDisposable void AddResource(string name, object/string/byte[]); //添加資源資料 void Generate(); //更新緩衝區(Flush) void Close(); //
Time of Update: 2018-12-07
裝箱/拆箱,實值型別/參考型別 和 Object類,這些都是.NET程式員人人皆知且人人都應該掌握的概念。大多數人都對他們非常瞭解,可是和一些同行們交流時我發現一些細節其實很多人並不瞭解,尤其是它們結合討論的情景,本文通過一些代碼來闡述一些我知道的概念。 目錄代碼1:Object.Equals 代碼2:Object.ReferenceEquals 代碼3:再強化一下理解 代碼4:問候了Equals,我們再看看== 代碼5:神奇的String 代碼6:欄位和屬性
Time of Update: 2018-12-07
曾經許多時候,需要隨機產生一些東西,結果還得慢慢用那個.NET
Time of Update: 2018-12-07
目錄1. 基本使用 2. 其他KeyedCollection變種 3. 執行一個非抽象的KeyedCollection 返回目錄1. 基本使用這個類型貌似有些不起眼,在System.Collections.ObjectModel命名空間內,它在.NET 2.0時被加入,來看他的類型層次:其實,他就是一個字典,只不過字典的鍵是從值中擷取的,看他的執行中發現內不是有一個Dictionary<TKey,
Time of Update: 2018-12-07
這篇文章裡,用il語言解釋一下static方法和non-static方法在調用的時候,堆棧頂部傳遞參數的不同形式。首先看一段代碼: class TestClass { public static readonly int i = 10; static void Main(string[] args) { TestClass testClass = new TestClass();
Time of Update: 2018-12-07
' VB Code: which includes derived class. Imports SystemImports Donis.CSharpBookNamespace Donis.CSharpBook Public Class Starter Public Shared Sub Main Dim child as New XChild child.MethodA() child.MethodB()
Time of Update: 2018-12-07
委託(delegate)有委託接收方和委託發出方兩個執行個體。委託接收方需要有一個函數實現,然後“拜託”別人調用。委託發出方需要有一個“服務員”接受委託接收方的“委託”請求,並記錄調用入口,在非物件導向的時候用的是函數指標,現在物件導向,需要儲存this後調用才行,所以不同的語言用了不同的實現方法。BCB, 使用關鍵字__closure基本上可以解決。先聲明“服務員”能接受什麼樣的申請:typedefBOOL
Time of Update: 2018-12-07
1 安裝sudo apt-get install gnustep*2 編寫代碼#import <Foundation/Foundation.h>int main( int argc, const char * argv[] ) {NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];NSLog(@"Hello world\n");[pool drain];return 0;
Time of Update: 2018-12-07
tire.h#import <Cocoa/Cocoa.h>@interface Tire : NSObject{ float pressure; float treadDepth;}-(void) setPressure: (float) pressure;-(float) pressure;-(void) setTreadDepth: (float) treadDepth;-(float) treadDepth;@end