Office çözümlerinde isteğe bağlı parametreler
Microsoft Office uygulaması lications nesne modellerindeki yöntemlerin çoğu isteğe bağlı parametreleri kabul eder. Visual Studio'da bir Office çözümü geliştirmek için Visual Basic kullanıyorsanız, her eksik parametre için varsayılan değerler otomatik olarak kullanıldığından isteğe bağlı parametreler için bir değer geçirmeniz gerekmez. Çoğu durumda, Visual C# projelerinde isteğe bağlı parametreleri de atlayabilirsiniz. Ancak, belge düzeyi Word projelerinde sınıfın ThisDocument
isteğe bağlı başvuru parametrelerini atlayamazsınız.
Şunlar için geçerlidir: Bu konudaki bilgiler belge düzeyi projeler ve VSTO Eklenti projeleri için geçerlidir. Bkz. Office uygulaması ve proje türüne göre kullanılabilen özellikler.
Visual C# ve Visual Basic projelerinde isteğe bağlı parametrelerle çalışma hakkında daha fazla bilgi için bkz . Adlandırılmış ve isteğe bağlı bağımsız değişkenler (C# programlama kılavuzu) ve İsteğe bağlı parametreler (Visual Basic).
Not
Visual Studio'nun önceki sürümlerinde, Visual C# projelerindeki isteğe bağlı her parametre için bir değer geçirmeniz gerekir. Kolaylık olması için bu projeler, parametrenin varsayılan değerini kullanmak istediğinizde isteğe bağlı bir parametreye geçirebileceğiniz adlı missing
bir genel değişken içerir. Visual Studio'da Office için Visual C# projeleri yine de değişkeni içerir missing
, ancak Word için belge düzeyi projelerinde sınıfında isteğe bağlı başvuru parametrelerine sahip yöntemleri çağırmanız dışında, Visual Studio 2013'te ThisDocument
Office çözümleri geliştirirken bunu kullanmanız gerekmez.
Excel'deki örnek
CheckSpelling yönteminin birçok isteğe bağlı parametresi vardır. Aşağıdaki kod örneğinde gösterildiği gibi bazı parametreler için değerler belirtebilir ve diğerlerinin varsayılan değerini kabul edebilirsiniz. Bu örnek, adlı Sheet1
bir çalışma sayfası sınıfına sahip belge düzeyinde bir proje gerektirir.
Word'deki örnek
Execute yönteminin birçok isteğe bağlı parametresi vardır. Aşağıdaki kod örneğinde gösterildiği gibi bazı parametreler için değerler belirtebilir ve diğerlerinin varsayılan değerini kabul edebilirsiniz.
Word.Range documentRange = this.Application.ActiveDocument.Content;
documentRange.Find.ClearFormatting();
documentRange.Find.Execute(FindText: "blue", ReplaceWith: "red", Replace: Word.WdReplace.wdReplaceAll);
Word için Visual C# belge düzeyi projelerinde ThisDocument sınıfında bulunan yöntemlerin isteğe bağlı parametrelerini kullanma
Word nesne modeli, değerleri kabul Object eden isteğe bağlı başvuru parametrelerine sahip birçok yöntem içerir. Ancak, Word için Visual C# belge düzeyi projelerinde oluşturulan ThisDocument
sınıfın yöntemlerinin isteğe bağlı başvuru parametrelerini atlayamazsınız. Visual C# isteğe bağlı başvuru parametrelerini sınıflar için değil yalnızca arabirim yöntemleri için atlamanıza olanak tanır. Örneğin, sınıfın yönteminin ThisDocument
isteğe bağlı başvuru parametrelerini CheckSpelling atlayamayacağınız için aşağıdaki kod örneği derlenmez.
Globals.ThisDocument.CheckSpelling(ignoreUppercase: true);
sınıfının yöntemlerini ThisDocument
çağırdığınızda şu yönergeleri izleyin:
İsteğe bağlı bir başv parametresinin varsayılan değerini kabul etmek için değişkenini
missing
parametresine geçirin.missing
Değişkeni Visual C# Office projelerinde otomatik olarak tanımlanır ve oluşturulan proje kodundaki değere Missing atanır.İsteğe bağlı bir başv parametresi için kendi değerinizi belirtmek için, belirtmek istediğiniz değere atanmış bir nesne bildirin ve nesneyi parametresine geçirin.
Aşağıdaki kod örneği, ignoreUppercase parametresi için bir değer belirtip diğer parametreler için varsayılan değeri kabul ederek yönteminin nasıl çağrılacağını CheckSpelling gösterir.
object ignoreUppercase = true; Globals.ThisDocument.CheckSpelling( ref missing, ref ignoreUppercase, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
Sınıfındaki
ThisDocument
bir yöntemin isteğe bağlı başvuru parametrelerini atlayan bir kod yazmak istiyorsanız, alternatif olarak özelliği tarafından InnerObject döndürülen nesnede Document aynı yöntemi çağırabilir ve bu yöntemdeki parametreleri atlayabilirsiniz. Bunu yapabilirsiniz çünkü Document bir sınıf yerine bir arabirimdir.Globals.ThisDocument.InnerObject.CheckSpelling(IgnoreUppercase: true);
Değer ve başvuru türü parametreleri hakkında daha fazla bilgi için bkz . Bağımsız değişkenleri değere ve başvuruya göre geçirme (Visual Basic için) ve Parametreleri geçirme (C# programlama kılavuzu).