C# WebBrowser 偽造 Referer 為何對流量統計失效?
C# WebBrowser 偽造 Referer 為何對流量統計失效? 許多開發者嘗試用 WebBrowser.Navigate(url, _self, nul
C# 「逼格」代碼風格諷刺指南:別讓你的程式碼寫給機器看
C# 「逼格」代碼風格諷刺指南:別讓你的程式碼寫給機器看 這是一篇諷刺文,作者以幽默筆觸列舉「讓代碼看起來很高級」的反模式。真正的高手寫的是給人看的代碼,不是給
C# 實作 AES 檔案與資料夾加密解密完整方案
C# 實作 AES 檔案與資料夾加密解密完整方案 本文提供一套可直接用於生產環境的檔案/資料夾加密解密類別庫,採用 AES (Rijndael) 演算法,支援大
C# WinForms 控制項命名前綴完整規範表
C# WinForms 控制項命名前綴完整規範表 統一的命名慣例能大幅提升程式碼可讀性與團隊協作效率。以下整理業界常用的 WinForms 控制項前綴對照表,涵
C# 實作啟動畫面的多種模式與最佳實踐
C# 實作啟動畫面的多種模式與最佳實踐 在開發 WinForms 應用程式時,若主視窗初始化耗時較長,顯示啟動畫面能大幅提升使用者體驗。本文整理兩種常見且實用的
Emit 技術深度解析:動態建立型別與方法的實戰應用
什麼是 Emit? System.Reflection.Emit 命名空間提供 執行期產生 MSIL (Microsoft Intermediate Langu
.NET 反射實戰:取得型別屬性、方法、成員與動態存取值
反射基礎 API // 取得 Type 物件 (三種方式) Type t1 = typeof(MyClass); // 編譯期已知型別 Type
清理零位元組檔案與空資料夾:C# 工具實作
動機 開發機長期累積大量 0 bytes 檔案與空資料夾 (安裝殘留、快取、暫存),拖慢備份與搜尋。制定規則: 資料夾深度 ≤ 5 層 刪除所有 0 byte
AutoMapper 入門:從手動映射到自動化物件轉換
為什麼需要 AutoMapper? 分層架構中,領域模型 (Domain Model) 包含行為、導航屬性、業務規則;DTO (Data Transfer Ob
LINQ to SQL 可為 Null 欄位比較報錯解決方案
錯誤現象 執行 LINQ to SQL 查詢時拋出: variable <>h__TransparentIdentifier2 of type .
Lambda 運算式轉 SQL Where 子句類庫實作
專案背景 傳統 DAL 常需動態組裝 SQL Where 條件,字串拼接易出錯且難維護。本類庫讓開發者以 Lambda 運算式 型別安全地描述條件,自動轉換為參
解決 Visual Studio 編譯錯誤:LC.exe 已結束,代碼 -1
錯誤現象 建置專案時輸出視窗顯示: 錯誤 LC0000:LC.exe 已結束,代碼為 -1 常見於引用 DevExpress、Telerik、Component
WinForms TreeView 按需載入(Lazy Load)完整實作教學
為什麼需要按需載入? 專案初期一次性載入所有部門與人員資料到 TreeView,資料量大時耗時 2 分鐘,用戶無法接受。觀察發現用戶通常只展開少數節點,**按需
C# 實作 BitStream:位元級讀寫與壓縮編碼
BitStream 簡介 網路通訊、序列化、遊戲封包常需位元級控制。BitStream 以位元組陣列為底層儲存,提供 Write/Read Bool、Int8~
CSLA.NET 框架介紹:企業級業務物件開發基石
什麼是 CSLA.NET? CSLA.NET (Component-based Scalable Logical Architecture) 是由 Rockfo
.NET 串接極光推送 (JPush) 實作 Android 訊息推播
為何選擇第三方推播服務? GCM/FCM:需 Google 服務框架,國內裝置多無法連線 自建長連線 (XMPP/MQTT):開發維護成本高、穩定性挑戰大 極
AutoMapper 進階配置:Initialize、Profile 與命名慣例
統一初始化:Mapper.Initialize 避免在各處重複呼叫 CreateMap,於應用程式啟動時 (ASP.NET 可置於 Global.asax) 集