C# Attribute 實現 AOP 事務(三):UserInfoAction 標記 Transaction 與 TransactionMethod、SqlDAL 加入 SqlTrans 屬性與 ContextBoundObject 繼承
業務類別標記 [Transaction] public class UserInfoAction : SqlDAL { [TransactionMet
C# Attribute 實現 AOP 事務(四):TransactionAttribute 繼承 ContextAttribute 與 IContributeObjectSink、GetObjectSink 注入 TransactionAop、TransactionMethodAttribute 標記方法
TransactionAttribute:類別層級標記 new TransactionAop(next); // 注入攔截器 } 繼承 ContextAt
C# Attribute 實現 AOP 事務(五):TransactionAop 實作 IMessageSink、SyncProcessMessage 建立交易上下文、Commit/Rollback 自動管理、效能與架構優化建議
TransactionAop 核心實作 TransactionAop; } 效能與架構優化建議 AOP 方式比手動 try-catch-Commit/Ro
C# 呼叫 Kernel32.dll 讀寫 INI 檔案(一):WritePrivateProfileString 寫入鍵值、INI 檔案結構範例、區段與鍵名對應說明
WritePrivateProfileString 簽章 [DllImport(Kernel32.dll)] public static extern boo
C# 呼叫 Kernel32.dll 讀寫 INI 檔案(二):GetPrivateProfileString 讀取字串、GetPrivateProfileInt 讀取整數、StringBuilder 緩衝區用法
GetPrivateProfileString 簽章 [DllImport(Kernel32.dll)] public static extern int G
C# 繪製 8 位元自訂調色板 GIF 圖片:StructLayout、Marshal、Bitmap.LockBits 直接操作像素索引與透明背景處理
核心方法 DrawPicture():載入原圖、取得 11 色調色板、建立自訂色表、設定透明背景(Alpha=0)、呼叫儲存。 SaveGIFWithNewC
C# WinForm 最小化至系統通知區域實作:NotifyIcon 控件、SizeChanged 事件切換顯示、Click 事件還原視窗
完整程式碼 public partial class Form1 : Form { public Form1() { InitializeCompon
C# Attribute 實現 AOP 事務(二):SqlDAL 封裝 SqlTransaction 上下文儲存、ExecuteNonQuery 依據事務存在性切換執行模式
UserInfoAction 業務類別 public class UserInfoAction : SqlDAL { public void Add(
C# DataGridView 刪除列確認對話框實作:UserDeletingRow 事件中彈出 MessageBox 並透過 Cancel 屬性取消刪除
UserDeletingRow 事件處理 private void dataGridView1_UserDeletingRow(object sender,
C# WinForm 訊息攔截兩大技巧:重寫 DefWndProc 處理特定訊息、實作 IMessageFilter 全域訊息過濾器
方法一:重寫 DefWndProc protected override void DefWndProc(ref Message m) { if (m
C# 判斷執行緒狀態:使用 Thread.IsAlive 屬性檢查執行緒是否仍在執行中
IsAlive 屬性 Thread.IsAlive 回傳 true 表示執行緒已啟動且尚未正常終止或被中止;false 表示未啟動或已結束。 簡單範例 Thr
C# DnsPermission 類別簡介(一):控制 DNS 伺服器存取權限、Copy/ToXML/Intersect/IsSubsetOf/Union 核心方法詳解
DnsPermission 簡介 控制程式碼對 DNS 伺服器的存取權限。預設允許本機與網路應用程式存取 DNS,網路應用程式無 DNS 權限則受限。 核心方法
C# DnsPermission 類別應用範例(二):Copy 複製權限、Intersect 交集判斷、ToXML 序列化與 Demand 執行安全性檢查
Intersect 交集判斷 private void button8_Click(object sender, EventArgs e) { try
C# 呼叫非託管 DLL 實戰(一):VC++ 建立匯出函數、cl /LD 編譯 DLL、C# DllImport 引入與靜態外部方法宣告
1. 建立非託管 DLL (VC++) // MyLib.cpp extern C __declspec(dllexport) int add(int a,
C# 程式化執行 SSIS 套件三種部署方式:檔案系統、SSIS 目錄、資料庫部署完整程式碼範例
三種部署模式 檔案系統部署 SSIS 目錄(SSISDB)部署 資料庫部署(msdb) 1. 檔案系統部署 using DTS = Microsoft.S
C# Dns 類常用方法詳解(一):DNS 協議簡介、Dns 類方法總表、GetHostAddresses 取得主機 IP 位址陣列
DNS 背景 IP 位址難記,DNS 將其轉換為有意義的網域名稱。.NET System.Net.Dns 提供靜態方法處理解析。 Dns 類方法總表 方法說明
C# Dns 類常用方法詳解(二):GetHostByAddress 多載、GetHostName、Resolve 解析主機名與 IP 位址實作範例
GetHostByAddress 多載 GetHostByAddress(IPAddress address):依 IPAddress 物件取得 IPHost
C# WinForm 檔案拖放實作(一):ListView 初始化、目錄列表載入、檔案圖示/大小/時間顯示完整程式碼
步驟 1:ListView 初始化 listView.View = View.Details; listView.AllowDrop = true; 步驟