<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 如何:在 COM 互操作編程中使用索引屬性(C# 編程指南) 索引屬性改進了在 C# 編程中使用具有參數的 COM 屬性的方式。將索引屬性與 Visual C# 2010 中引入的其他功能(如[命名參數和可選參數](https://msdn.microsoft.com/zh-cn/library/dd264739.aspx)、新的 [dynamic](https://msdn.microsoft.com/zh-cn/library/dd264741.aspx) 類型以及[嵌入的類型信息](https://msdn.microsoft.com/zh-cn/library/dd409610.aspx))一起使用,可增強 Microsoft Office 編程功能。 在早期版本的 C# 中,只有在 **get** 方法不具有任何參數且 **set** 方法有且僅有一個值參數時,才能將方法作為屬性進行訪問。但是,并非所有 COM 屬性都符合上述限制。例如,Excel 的 [Range](http://go.microsoft.com/fwlink/?LinkId=166053) 屬性具有一個 **get** 訪問器,該訪問器需要一個表示范圍名稱的參數。以前,由于您無法直接訪問 **Range** 屬性,因此您必須改用 **get_Range** 方法,如以下示例所示。 ``` // Visual C# 2008 and earlier. var excelApp = new Excel.Application(); // . . . Excel.Range targetRange = excelApp.get_Range("A1", Type.Missing); ``` 利用索引屬性,您可以改為編寫以下代碼: ``` // Visual C# 2010. var excelApp = new Excel.Application(); // . . . Excel.Range targetRange = excelApp.Range["A1"]; ``` | ![](https://box.kancloud.cn/2016-01-31_56adb62c1380a.jpg) 注意 | | :-- | | 上面的示例還使用[可選參數](https://msdn.microsoft.com/zh-cn/library/dd264739.aspx)功能(在 Visual C# 2010 中引入),此功能可使您忽略 **Type.Missing**。 | 與此類似,若要在 Visual C# 2008 及更早版本中設置 [Range](http://go.microsoft.com/fwlink/?LinkId=179211) 對象的 **Value** 屬性的值,需要兩個參數。一個參數為用于指定范圍值的類型的可選形參提供實參。另一個參數提供 **Value** 屬性的值。在 Visual C# 2010 之前的版本中,C# 僅允許一個參數。因此,您必須使用 **set_Value** 方法,或者使用另一個屬性 [Value2](http://go.microsoft.com/fwlink/?LinkId=166050),而不能使用常規的 set 方法。下面的示例演示了這些技術。這兩種技術都將 A1 單元格的值設置為 Name。 ``` // Visual C# 2008. targetRange.set_Value(Type.Missing, "Name"); // Or targetRange.Value2 = "Name"; ``` 利用索引屬性,您可以改為編寫以下代碼。 ``` // Visual C# 2010. targetRange.Value = "Name"; ``` 您不能創建自己的索引屬性。該功能只支持使用現有的索引屬性。 下面的代碼顯示一個完整的示例。有關如何設置訪問 Office API 的項目的更多信息,請參見[如何:通過使用 Visual C# 功能訪問 Office 互操作對象(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/dd264733.aspx)。 ``` // You must add a reference to Microsoft.Office.Interop.Excel to run // this example. using System; using Excel = Microsoft.Office.Interop.Excel; namespace IndexedProperties { class Program { static void Main(string[] args) { CSharp2010(); //CSharp2008(); } static void CSharp2010() { var excelApp = new Excel.Application(); excelApp.Workbooks.Add(); excelApp.Visible = true; Excel.Range targetRange = excelApp.Range["A1"]; targetRange.Value = "Name"; } static void CSharp2008() { var excelApp = new Excel.Application(); excelApp.Workbooks.Add(Type.Missing); excelApp.Visible = true; Excel.Range targetRange = excelApp.get_Range("A1", Type.Missing); targetRange.set_Value(Type.Missing, "Name"); // Or //targetRange.Value2 = "Name"; } } } ``` ## 請參閱 [命名實參和可選實參(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/dd264739.aspx) [dynamic(C# 參考)](https://msdn.microsoft.com/zh-cn/library/dd264741.aspx) [使用類型 dynamic(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/dd264736.aspx) [如何:在 Office 編程中使用命名參數和可選參數(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/dd264738.aspx) [如何:通過使用 Visual C# 功能訪問 Office 互操作對象(C# 編程指南)](https://msdn.microsoft.com/zh-cn/library/dd264733.aspx) [演練:Office 編程(C# 和 Visual Basic)](https://msdn.microsoft.com/zh-cn/library/ee342218.aspx)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看