在之前的文章提到 C# 6.0 的一些新功能,本篇文章將會繼續補充前一篇沒提到的。 Collection Initializer 以往在宣告 Dictionary 物件時,會用到下列語法來加入初始值: Dictionary<string, string> dic = new Dictionary<string, string>
{
{"A","V1" },
{"B","V2" }
};
卑微研究生 發表在 痞客邦 留言(0) 人氣(471)
在 .Net 平台上,大多數的工程師都會選擇 Json.NET 來處理 JSON 資料,而我發現 Jil 這套在使用上更方便,官方也宣稱 Jil 的處理速度更快。 首先,來看看這個簡單的例子: TestClass t1 = new TestClass { Field1 = "f1", Field2 = "f2" };
string t1Json = JSON.Serialize<TestClass>(t1);
卑微研究生 發表在 痞客邦 留言(0) 人氣(179)
C# 經過多年的改進,功能愈來愈強大,下一版的 C# 6.0 目前也已經包含在 Visual Studio 2014 CTP 裡,本篇文章將會介紹幾個比較重要的功能。 Auto Properties 定義類別時,如果要設定 Property 的預設值,只能在建構子裡設定,而在 C# 6.0 可以這樣定義: public class Foo
{
//auto property
public int x { get; set; } = 1;
public int y { get; set; } = 2;
}
卑微研究生 發表在 痞客邦 留言(0) 人氣(476)
我在 GitHub 開了一個專案: https://github.com/sholfen/LESearchLibrary 有興趣的朋友可以參考看看,基本上是把 Lucene.Net 再重新包裝,期望使用上可以更簡單。
卑微研究生 發表在 痞客邦 留言(0) 人氣(21)

最近食安的問題鬧很大,尤其頂新集團的態度真的令人不滿,於是我收集了網路上相關產品名稱的資料,並利用 Lucene 寫了一個網站,讓大家方便搜尋頂新底下的相關產品。目前資料不多,不過我會慢慢補齊。 網址:
http://antitinghsin.azurewebsites.net/卑微研究生 發表在 痞客邦 留言(0) 人氣(5)

在 ASP.NET MVC 中,已經提供了比傳統 WebForm 更好的錯誤處理機制,而 HandleErrorAttribute 這個類別是其中一種。 本篇文章將示範如何使用 HandleErrorAttribute。 首先,在專案中新增 ErrorController 並新增 CustomError 這個 action,這是用來顯示其它 controller 所發生的錯誤。
卑微研究生 發表在 痞客邦 留言(0) 人氣(159)

在 WinForm 裡的控制項,設計了許多不同的 Event,當專案愈大愈複雜,到底有哪些函式被設進 Event 裡,常常令人摸不清。一開始,試著利用 EventInfo 來得到想要的資訊,不過後來得知 EventInfo 缺乏這方面的資訊。後來找到了一篇對岸寫的文章,雖然解決了問題,不過方法可以說是一種 Hack… 以下的程式碼是參考自
C#中删除任意控件任意事件的事件列表的实现! ,至於這作者怎麼發現這方法的,我無從得知,只能說真的是太神奇了。
卑微研究生 發表在 痞客邦 留言(0) 人氣(178)

最近研究怎麼在 WinForm 對 Dynamic Object 做 data binding,像 ExpandoObject 這類的物件在 WPF 做 data binding 是有解法的。可惜在 WinForm 上,官方似乎沒有給出一個解法,於是花了些時間尋找解決方案,後來就找到了 Impromptu-Interface。 這玩意有一個功能,就是可以動態產生類別,這個類別裡的 Property 可以自行設定,用法如以下的程式碼: 執行結果:
卑微研究生 發表在 痞客邦 留言(0) 人氣(39)

在開發程式時,為了除錯方便,會在程式碼中加入列印變數的功能。而在程式開發完畢後,又必須將這些功能一一刪除,只是在開發結束後,往往想不起來哪些地方有加入這些功能。其實有個小技巧可以解決這樣的問題。
下面的程式碼,是負責將訊息列印出來,在一開始會加入 #define DEBUG 這樣的指令,之後在 method 上加入 Conditional 這個 Attribute。
卑微研究生 發表在 痞客邦 留言(0) 人氣(37)

最近幫朋友做網站,有提到能不能弄一個把資料匯出成 Excel 檔的功能,剛好最近看到網路上有人分享 ClosedXML,於是寫了支小程式來測試。 專案中,用 NuGet 搜尋 ClosedXML 就能找到了。 首先定義資料的格式。
卑微研究生 發表在 痞客邦 留言(0) 人氣(4,490)