Aracılığıyla paylaş


Nasıl yapılır: COM Birlikte Çalışma Programlamada Dizin Oluşturulmuş Özellikleri Kullanma (C# Programlama Kılavuzu)

Dizin özelliklerini hangi com parametreleri olan özellikleri tüketilen şeklini geliştirmek, C# programlama.Dizine Visual C# 2010, gibi sunulan diğer özellikleri ile birlikte çalışma özellikleri adlandýrýlmýþ ve isteğe bağlı bağımsız değişkenler, yeni bir tür (dinamik), ve katıştırılmış tür bilgi, Microsoft Office programı geliştirmek için.

' C# [NULL]'ın önceki sürümlerinde yöntemleri özellikleri yalnızca IF erişilebilir get yöntemi parametre vardır ve set yöntemi, yalnızca bir değer parametre vardır.Ancak, tüm com özellikleri, bu kısıtlamaların karşılar.Örneğin, Excel Aralık özelliği olan bir get aralık adı için bir parametre gerektiren erişimci.Geçmişte, değil erişebilir çünkü Range özelliği, doğrudan gerekiyordu kullanmak get_Range yöntemi yerine, aşağıdaki örnekte gösterildiği gibi.

// Visual C# 2008 and earlier. 
var excelApp = new Excel.Application();
// . . .
Excel.Range targetRange = excelApp.get_Range("A1", Type.Missing);

Dizinlenmiş özelliklerin yerine aşağıdaki yazmak etkinleştir:

// Visual C# 2010. 
var excelApp = new Excel.Application();
// . . .
Excel.Range targetRange = excelApp.Range["A1"];

[!NOT]

Önceki örnekte de kullanan isteğe bağlı bağımsız değişkenler özelliği, Visual C# atlamak sağlayan 2010, tanıtılan Type.Missing.

Benzer şekilde, değerini ayarlamak için Value özelliği, bir Aralık nesne Visual C# 2008 ve önceki sürümlerinde, iki bağımsız değişken gereklidir.Bir aralık değeri türünü belirten isteğe bağlı bir parametre için bir bağımsız değişken sağlar.Diğer değeri sağlayan Value özelliği.Visual C# 2010, önce C# izin tek bir bağımsız değişken.Bu nedenle, normal set yöntemi kullanmak yerine, her iki kullanım vardı set_Value yöntemini veya farklı bir özellik değer2.Aşağıdaki örneklerde, bu teknikler gösterilmektedir.Her ikisi de A1 hücresine değeri Name.

// Visual C# 2008.
targetRange.set_Value(Type.Missing, "Name");
// Or
targetRange.Value2 = "Name";

Dizinlenmiş özelliklerin, bunun yerine aşağıdaki kodu yazın olanak verir.

// Visual C# 2010.
targetRange.Value = "Name";

Dizinlenmiş özelliklerin kendi oluşturamazsınız.Bu özellik yalnızca varolan dizinlenmiş özelliklerin kullanımını destekler.

Örnek

Aşağıdaki kod, tam bir örnek gösterir.Office API erişen bir projeyi ayarlama hakkında daha fazla bilgi için bkz: Nasıl yapılır: Visual C# Özelliklerini Kullanarak Office Birlikte Çalışma Nesnelerine Erişim (C# Programlama Kılavuzu).

// 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";

        }
    }
}

Ayrıca bkz.

Görevler

Nasıl yapılır: Office Programlamada Adlandırılmış ve İsteğe Bağlı Bağımsız Değişkenleri Kullanma (C# Programlama Kılavuzu)

Nasıl yapılır: Visual C# Özelliklerini Kullanarak Office Birlikte Çalışma Nesnelerine Erişim (C# Programlama Kılavuzu)

İzlenecek yol: Office Programlama (C# ve Visual Basic)

Başvuru

dynamic (C# Başvurusu)

Kavramlar

Adlandırılmış ve İsteğe Bağlı Bağımsız Değişkenler (C# Programlama Kılavuzu)

Diğer Kaynaklar

Tür dinamiği kullanma (C# Programlama Kılavuzu)