Browse by Tags

TIPS-快速輸入INotifyPropertyChanged屬性
為了讓物件支援Data Binding,資料物件必須實作INotifyPropertyChanged介面,提供PropertyChanged事件,並在屬性值變動時,以便即時通知UI更新繫結對象的顯示內容。而實作INotifyPropertyChanged的類別,在宣告每個屬性時都要寫成如下格式: private bool connected; public bool Connected {     get { return connected; }    ...
Posted 13 March 2013 07:09 AMJeffrey | 3 comment(s) 8,063
Filed under: , , ,
再探WebClient具名登入FTP的絕對路徑問題
之前寫過一篇 System.Net.WebClient具名登入FTP的傳檔路徑問題 ,當時的結論認為WebClient在切換路徑時一律會加上user1,故無法存取user Home目錄以外的其他路徑。今天同事無意試出ftp:// ftpserver//booFolder//fooFolder//test.txt的寫法,能使用絕對路徑找到檔案。進一步研究才知道,ftp:// URI是可以指定絕對路徑的! 找到一篇MSDN 討論區文章 ,發現原來只要寫成ftp:// ftpserver//booFolder...
Posted 22 August 2012 06:24 PMJeffrey | with no comments 4,794
Filed under: ,
筆記-顯示民國年與閏年蟲
昨天是四年才出現一次的2/29,也是未滿四歲系統的小關卡,結果在 網路上 跟生活周遭還真目賭不少程式跌倒~~ 最常見的狀況是該顯示民國年的地方出現101/2/28而非101/2/29,究其根源,多半是當初程式在撰寫時使用了 DateTime.Today.AddYears(-1911).ToString("yyyy/MM/dd") 的簡便寫法,乍看之下比單獨抓出年份額外處理簡潔許多,卻隱藏了閏年判定基準不同的問題(民國101年是西元2012年為閏年,但減去1911為西元101年變成非閏年...
Posted 01 March 2012 06:09 AMJeffrey | 6 comment(s) 12,044
Filed under: ,
【笨問題專欄】不分大小寫的Dictionary<string, string>
今天要分享的 笨問題 是: 寫程式時偶爾會需要Key不分大小寫的Hashtable(Dictionary<string, string>),大家都是怎麼解決的呢? 我最近才頓悟... using System; using System.Collections.Generic; namespace ConsoleApplication1 { class Program { static void Main( string [] args) { //我以前都這麼處理不分大小寫的Hashtable...
Posted 19 April 2011 09:15 AMJeffrey | 14 comment(s) 11,751
Filed under: , ,
System.Net.WebClient具名登入FTP的傳檔路徑問題
之前介紹過使用System.Net.WebClient類別進行FTP傳檔的 精簡寫法 ,今天發現一個問題。 某個Windows IIS FTP網站開放使用特定帳號user1登入後上傳或下載檔案,使用IE以 ftp:// ftp_ip_address/user1/test.txt的方式可以順利下檔案,但執行以下程式: using System; using System.IO; using System.Threading; using System.Net; public class CSharpLab...
Posted 27 March 2011 08:48 AMJeffrey | 3 comment(s) 10,563
Filed under: ,
為dotConnect資料類別產生器加入客製邏輯
雖然Oracle已經釋出 ODAC for Microsoft Entity Framework 11.2.0.2.30 ,但尚在Beta階段,加上平台侷限.NET 4.0,目前工作專案如需在Oracle上使用LINQ,還是以 devart的dotConnect for Oracle 為主。 最近在使用dotConnect for Oracle開發時,發現預設產生Model類別會自動抓取Oracle欄位的註解欄位,用 XML Documentation 加註在類別屬性上: /// <summary>...
Posted 20 March 2011 10:56 AMJeffrey | with no comments 4,558
Filed under: , ,
TIPS-比對.NET Reference Type物件是否相等
跟同事討論到自訂類別物件的比對問題,原則上Reference Type類別的物件,除非兩個變數指向同一個Instance,使用==或Equals(...)測試都會得到false,就算是兩個Instance的內容分毫不差也是枉然。當物件被當成WCF/Web Service參數來回傳送,背地裡會被序列化再還原,便會變成內容相同的另一個Instance(其實只要在不同Process間傳遞,因無法共享記憶體,就一定會產生這種結果),此時若直接使用==或Equals比對,得到的結果永遠為不相同。 我們可以透過...
Posted 17 February 2011 06:36 AMJeffrey | 3 comment(s) 5,617
Filed under: ,
TIPS-NPOI修改Excel欄位後自動更新公式計算結果
最近專案裡,我都開始改用 NPOI 來處理Excel檔案的讀寫輸出,感覺上比Excel DOM、OLE DB for JET、甚至 CSV法 來得穩定輕巧,而NPOI功能的齊全程度更是讓我驚喜連連。 今天寫了個簡單套版程式要實現類似以下的概念: Template.xls中有寫好的公式計算兩個欄位的相加值,A3 = SUM(A1:A2) 我的程式會開啟Template.xls,將A1改成3、A2改成4,另存為Result.xls。(關於NPOI的基本介紹,可以參考MSDN上的 中文教學 ) using...
Posted 16 December 2010 06:18 PMJeffrey | 5 comment(s) 32,451
Filed under: , ,
TIPS-指定主控台應用程式的工作目錄
寫了一個轉檔用的Console Application,執行時會將處理過程資訊寫入執行目錄下的Log檔以利偵錯,經手動測試一切良好。 將轉檔程式納入SQL Job排程的步驟,卻發現程式有執行,卻沒有產生Log檔。想了一下,推測是工作目錄問題,到Windows\System32目錄下一找,果然Log檔乖乖地躺在那裡。換句話說,當SQL Job呼叫轉檔程式時,工作目錄被指向System32,所以new StreamWriter("blah.txt")就變成System32\blah...
Posted 03 November 2010 10:48 AMJeffrey | 1 comment(s) 4,998
Filed under: ,
TIPS-避免連續快速建立Random物件
這是在玩 三門問題 時程式沒寫好遇到的狀況,做個筆記。 以下程式會連續建立1000個Test物件,Test物件建構式中會產生A, B, C三個隨機亂數。大家有發現其中存在什麼問題嗎? using System;   namespace TestRandom { class Program { static void Main( string [] args) { for ( int i = 0; i < 1000; i++) { Test t = new Test(); Console...
Posted 10 September 2010 09:19 AMJeffrey | 5 comment(s) 6,746
Filed under: ,
網站下載程式碼後無法編譯
從 CodePlex 下載SourceCode回家玩,Build時卻發生錯誤: The "ValidateXaml" task failed unexpectedly. System.IO.FileLoadException: Could not load file or assembly 'file:///C:\WorkRoom\WP7\3rdParty\PhoneControls\Phone.Controls.Samples.dll' or one of its...
Posted 15 August 2010 03:58 PMJeffrey | with no comments 5,944
Filed under: , ,
LINQ to SQL-當心CHAR(1)欄位比對條件寫法的效能差異
今天意外發現,LINQ to SQL在轉譯CHAR(1)欄位比對時,可能因寫法不同而產生極無效率的SQL指令! 當資料表的欄位為CHAR(1)時,在DataContext裡產生的 對應物件型別 是char,而我們直覺上可能寫成CharCol == 'A'的比對條件。但今天發現一件可怕的事... CharCol == 'A'的寫法會被轉換成極無效率的WHERE UNICODE(CharCol) = 65 對SQL查詢效能略有研究的人都知道,Func(SomeCol)...
Posted 25 March 2010 09:00 PMJeffrey | with no comments 8,504
Filed under: , ,
TIPS-開啟共享資料夾上的ASP.NET專案
手上還有些ASP.NET專案仍在使用ODP.NET 9207,而我的工作機目前是Windows 2008 x64,很遺憾,這兩個傢伙 不來電 。為了繼續維護這些專案,我的折衷做法是另外掛了VM跑Windows 2003,把需要ODP.NET 9207的專案利到VM上開發、執行。 這幾天嚐試了新做法,將VM的ASP.NET資料夾分享出來,以工作機的VS2008開啟,cs檔案編修、更新都OK,更新完成直接連VM的IIS測試倒也還算順手。但有個問題: Could not load file or assembly...
TIPS-C# 3.0的Dictionary元素簡式宣告法
為了找記憶中依稀存在的C# 3.0 Dictionary元素簡式宣告法,耗了我快五分鐘,下定決心把它寫成一篇KB,以拯救中老年人日益衰退的記憶力。 public static void Test() { //要宣告固定元素的陣列,我們都知道可以簡寫成 string [] strAry = { "A" , "B" , "C" , "D" }; //但要宣告固定元素Dictionary,傳統上只能一步一腳印 Dictionary<...
Posted 21 July 2009 04:10 PMJeffrey | 7 comment(s) 8,876
Filed under: , ,
String.Format yyyy/MM/dd? 誤會大了
今天才發現一件誤很大的事... Console.WriteLine(string.Format("{0:yyyy/MM/dd}", DateTime.Today)); 結果應該是什麼? 不就是2009/04/01嗎? 答案是不一定,也有可能是2009-04-01哦! 根據 本草綱目 MSDN Library 記載,日期格式裡的"/"代表的並不是斜線符號,而是DateTimeFormatInfo.DataSeparator。 Represents the date...
Posted 01 April 2009 09:41 PMJeffrey | 10 comment(s) 44,330
Filed under: , ,
更多文章 下一頁 »

搜尋

Go

<March 2017>
SunMonTueWedThuFriSat
2627281234
567891011
12131415161718
19202122232425
2627282930311
2345678
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication