首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Visual C# 2010 新特性:命名/可選參數與類型等價支援(二)

     編輯:關於C語言

可選參數進階規則

  • 可選參數必須位於必要參數之後。
  • 呼叫時若提供某可選參數值,則該參數之前的所有可選參數皆須提供值 (不可跳過)。
  • 錯誤寫法:CreateUser("admin", "pwd", , true); (以逗號佔位)
  • 正確寫法:CreateUser("admin", "pwd", 20, true); 或使用命名參數 CreateUser("admin", "pwd", isLocked: true);

COM API 互通簡化

舊版需使用 Type.Missing 佔位省略參數:


var excelApp = new Microsoft.Office.Interop.Excel.Application();
var format = Microsoft.Office.Interop.Excel.XlRangeAutoFormat.xlRangeAutoFormatAccounting1;
excelApp.get_Range("A1", "B4").AutoFormat(format, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

C# 4.0 僅需:


excelApp.get_Range("A1", "B4").AutoFormat(Format: format);

類型等價支援 核心概念

嵌入強命名組件的介面類型資訊,使應用程式與獨立部署的執行時組件版本鬆散耦合。應用程式可在無重新編譯情況下使用多版本類庫。

主要優點

  • 支援同一應用程式在安裝不同 Office 版本的機器上執行。
  • 適用於純受控方案 (非限 COM)。
  • 編譯器僅嵌入實際使用的類型 (No PIA),減少部署體積。

嵌入條件

  1. 組件公開至少一個 public 介面。
  2. 介面標註 [ComImport] 與 [Guid]。
  3. 組件標註 [ImportedFromTypeLib] 與組件層級 [Guid]。

運作機制

用戶端專案參考介面組件 (Embed Interop Types = true) → 編譯器將介面中繼資料嵌入用戶端組件 → 執行時透過嵌入的類型資訊與當前可用的執行時組件繫結,無需重新編譯即可適應新版本。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved