Aracılığıyla paylaş


İsteğe Bağlı Parametreler (Visual Basic)

Bir yordam parametresinin isteğe bağlı olduğunu ve yordam çağrıldığında bu parametre için hiçbir bağımsız değişken sağlanmaması gerektiğini belirtebilirsiniz.İsteğe bağlı parametreler yordam tanımında Optional anahtar sözcüğü ile gösterilir.Aşağıdaki kurallar geçerlidir:

  • Yordam tanımındaki her isteğe bağlı parametre bir varsayılan değer belirtmelidir.

  • İsteğe bağlı parametreye ilişkin varsayılan değer bir sabit ifade olmalıdır.

  • Yordam tanımında isteğe bağlı parametreden sonra gelen her parametre de isteğe bağlı olmalıdır.

Aşağıdaki sözdiziminde, isteğe bağlı parametresi bulunan bir yordam bildirimi gösterilmektedir:

Sub sub name(ByVal parameter1 As datatype1, Optional ByVal parameter2 As datatype2 = defaultvalue)

İsteğe Bağlı Parametreler İçeren Yordamları Çağırma

İsteğe bağlı parametre içeren bir yordamı çağırdığınızda, bağımsız değişkeni sağlayıp sağlamamayı seçebilirsiniz.Bunu yapmazsanız, yordam bu parametre için bildirilen varsayılan değeri kullanır.

Bağımsız değişken listesinde bir veya daha fazla isteğe bağlı bağımsız değişkeni atladığınızda, bunların konumlarını işaretlemek için ardışık virgüller kullanırsınız.Aşağıdaki örnek çağrı birinci ve dördüncü bağımsız değişkeni sağlamakta, ancak ikinci veya üçüncüyü sağlamamaktadır:

sub name(argument 1, , , argument 4)

Aşağıdaki örnekte MsgBox işlevine çeşitli çağrılar yapılmaktadır.MsgBox işlevinin bir gerekli parametresi ve iki isteğe bağlı parametresi vardır.

MsgBox için ilk çağrı, üç bağımsız değişkenin tümünü, MsgBox işlevinin bunları tanımladığı sırada sağlar.İkinci çağrı yalnızca gerekli bağımsız değişkeni sağlar.Üçüncü ve dördüncü çağrılar, birinci ve üçüncü bağımsız değişkenleri sağlar.Üçüncü çağrı bunu konuma göre ve dördüncü çağrı ise ada göre yapar.

MsgBox("Important message", MsgBoxStyle.Critical, "MsgBox Example")
MsgBox("Just display this message.")
MsgBox("Test message", , "Title bar text")
MsgBox(Title:="Title bar text", Prompt:="Test message")

İsteğe Bağlı Bağımsız Değişkenin Var Olup Olmadığını Belirleme

Bir yordam, verilen bir bağımsız değişkenin atlanıp atlanmadığını veya çağırma kodunun varsayılan değeri açıkça sağlayıp sağlamadığını çalışma zamanında algılayamaz.Bu ayrımı yapmanız gerekiyorsa, olasılık dışı bir değeri varsayılan olarak ayarlayabilirsiniz.Aşağıdaki yordam isteğe bağlı office parametresini tanımlamakta ve çağrıda atlanıp atlanmadığını görmek için varsayılan değerini ( QJZ) test etmektedir:

Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
    If office = "QJZ" Then
        Debug.WriteLine("office not supplied -- using Headquarters")
        office = "Headquarters" 
    End If 
    ' Insert code to notify headquarters or specified office. 
End Sub

İsteğe bağlı parametre String gibi bir başvuru türü ise, bağımsız değişken için beklenen bir değer olmaması koşuluyla varsayılan değer olarak Nothing kullanabilirsiniz.

İsteğe Bağlı Parametreler ve Aşırı Yükleme

İsteğe bağlı parametreler içeren bir yordam tanımlamanın bir başka yolu aşırı yüklemeyi kullanmaktır.İsteğe bağlı tek bir parametreniz varsa, prosedürün iki aşırı yüklenmiş sürümünü (biri parametreyi kabul eden, diğeri ise parametresiz olmak üzere) tanımlayabilirsiniz.Bu yaklaşım, isteğe bağlı parametrelerin sayısı arttıkça daha karmaşık hale gelir.Ancak avantajı, çağırma programının her bir isteğe bağlı bağımsız değişkeni sağlayıp sağlamadığından kesin emin olabilmenizdir.

Ayrıca bkz.

Başvuru

İsteğe Bağlı (Visual Basic)

ParamArray (Visual Basic)

Kavramlar

Visual Basic'de Yordamlar

Yordam Parametreleri ve Bağımsız Değişkenler (Visual Basic)

Bağımsız Değişkenleri Değere ve Başvuruya Göre Geçirme (Visual Basic)

Bağımsız Değişkenleri Konuma ve Ada Göre Geçirme (Visual Basic)

Parametre Dizileri (Visual Basic)

Yordam Aşırı Yüklemesi (Visual Basic)