Aracılığıyla paylaş


Pozisyona ve İsme Göre Argümanları Geçirme (Visual Basic)

Bir Sub veya Function yordamı çağırdığınızda, bağımsız değişkenleri konuma göre (yordamın tanımında göründükleri sırayla) geçirebilir veya konumlarına bakılmaksızın adlarıyla geçirebilirsiniz.

Bir bağımsız değişkeni ada göre geçirdiğinizde, bağımsız değişkenin bildirilen adını ve ardından iki nokta üst üste ve eşittir işaretini ():= ve ardından bağımsız değişken değerini belirtirsiniz. Adlandırılmış bağımsız değişkenleri herhangi bir sırada sağlayabilirsiniz.

Örneğin, aşağıdaki Sub yordam üç bağımsız değişken alır:

Public Class StudentInfo
    Shared Sub Display(name As String,
                Optional age As Short = 0,
                Optional birth As Date = #1/1/2000#)

        Console.WriteLine($"Name = {name}; age = {age}; birth date = {birth:d}")
    End Sub
End Class

Bu yordamı çağırdığınızda, bağımsız değişkenleri pozisyona, ada göre veya ikisini birden kullanarak sağlayabilirsiniz.

Konuma Göre Argüman Geçirme

Display yöntemini, konumlarına göre geçirilen ve virgülle ayrılmış bağımsız değişkenlerle aşağıdaki örnekte gösterildiği gibi çağırabilirsiniz:

StudentInfo.Display("Mary", 19, #9/21/1998#)

Konumsal bağımsız değişken listesinde isteğe bağlı bir bağımsız değişkeni atlarsanız, yerini virgülle tutmanız gerekir. Aşağıdaki örnek, Display yöntemini age bağımsız değişkeni olmadan çağırır:

StudentInfo.Display("Mary",, #9/21/1998#)

İsimle Argüman Geçirme

Alternatif olarak, bağımsız değişkenleri adlarına göre geçirip, virgüllerle sınırlandırarak Display çağırabilirsiniz, aşağıdaki örnekte gösterildiği gibi:

StudentInfo.Display(age:=19, birth:=#9/21/1998#, name:="Mary")

İsteğe bağlı birden fazla bağımsız değişken içeren bir yordamı çağırırken, bağımsız değişkenleri bu şekilde adlarına göre geçirmek özellikle yararlıdır. Bağımsız değişkenleri ada göre sağlarsanız, eksik konumsal bağımsız değişkenleri belirtmek için ardışık virgül kullanmanız gerekmez. Bağımsız değişkenlerin ada göre geçirilmesi, hangi bağımsız değişkenleri geçirdiğiniz ve hangilerini atladığınız gibi izlemenizi de kolaylaştırır.

Argümanları Konuma ve Ada Göre Birleştirme

Argümanları, aşağıdaki örnekte gösterildiği gibi tek bir prosedür çağrısında hem pozisyona hem de isme göre sağlayabilirsiniz.

StudentInfo.Display("Mary", birth:=#9/21/1998#)

Yukarıdaki örnekte, adla geçirildiğinden atlanmış age bağımsız değişkenin birth yerini tutmak için fazladan virgül gerekmez.

Visual Basic'in 15.5 öncesi sürümlerinde, bağımsız değişkenleri konum ve ad karışımıyla sağladığınızda, konumsal bağımsız değişkenlerin tümü önce gelmelidir. Bir bağımsız değişkeni ada göre sağladığınızda, kalan bağımsız değişkenlerin tümü ada göre geçirilmelidir. Örneğin, Display yöntemine yapılan aşağıdaki çağrı, derleyici hatası BC30241: Adlandırılmış bağımsız değişken bekleniyor hatasını görüntüler.

StudentInfo.Display("Mary", age:=19, #9/21/1998#)

Visual Basic 15.5'ten itibaren, sonrasındaki konumsal bağımsız değişkenler doğru pozisyondaysa, konumsal bağımsız değişkenler adlandırılmış bağımsız değişkenlerin ardından gelebilir. Visual Basic 15.5 altında derlenmişse, yöntemine Display yapılan önceki çağrı başarıyla derlenmiş ve artık derleyici hatası BC30241 oluşturmaz.

Adlandırılmış ve konumsal bağımsız değişkenleri herhangi bir sırada karıştırma ve eşleştirme özelliği, kodunuzu daha okunabilir hale getirmek için adlandırılmış bir bağımsız değişken kullanmak istediğinizde özellikle yararlıdır. Örneğin, aşağıdaki Person sınıf oluşturucu, türünde Person iki bağımsız değişken gerektirir ve her ikisi de Nothing olabilir.

Public Sub New(name As String, father As Person, mother As Person, dateOfBirth As Date)

Karma isimli ve konumsal bağımsız değişkenlerin kullanılması, father ve mother bağımsız değişkenlerinin değeri Nothing olduğunda kodun amacını net hale getirmeye yardımcı olur.

Dim p = New Person("Mary", father:=Nothing, mother:=Nothing, #9/21/1998#)

Adlandırılmış bağımsız değişkenlerle konumsal bağımsız değişkenleri izlemek için Visual Basic proje (*.vbproj) dosyanıza aşağıdaki öğeyi eklemeniz gerekir:

<PropertyGroup>
  <LangVersion>15.5</LangVersion>
</PropertyGroup>

Daha fazla bilgi için bkz. Visual Basic dil sürümünü ayarlama.

İsme Göre Argüman Sağlama Kısıtlamaları

Gerekli bağımsız değişkenlerin girilmesinden kaçınmak için bağımsız değişkenleri ada göre geçiremezsiniz. Yalnızca isteğe bağlı bağımsız değişkenleri kaldırabilirsiniz.

Parametre dizilerini isimle geçiremezsiniz. Bunun nedeni, yordamı çağırdığınızda parametre dizisi için belirsiz sayıda virgülle ayrılmış bağımsız değişken sağlamanız ve derleyicinin birden çok bağımsız değişkeni tek bir adla ilişkilendirememesidir.

Ayrıca bakınız