Aracılığıyla paylaş


İşlev yordamları (Visual Basic)

Function yordamı, Function ve End Function deyimleriyle çevrili bir dizi Visual Basic deyimidir. Prosedür Function bir görev gerçekleştirir ve ardından kontrolü çağıran koda döndürür. Denetimi döndürdüğünde, çağıran koda da bir değer döndürür.

Yordam her çağrıldığında, deyimleri çalıştırılır ve Function ifadesinden sonraki ilk yürütülebilir deyimle başlayarak karşılaşılan ilk End Function, Exit Function veya Return deyimiyle son bulur.

Modülde, sınıfta veya yapıda bir yordam tanımlayabilirsiniz Function . Varsayılan olarak, Public uygulamanızı tanımladığınız modüle, sınıfa veya yapıya erişimi olan herhangi bir yerden çağırabileceğiniz anlamına gelir.

Bir Function yordam, çağıran kod tarafından ona geçirilen sabitler, değişkenler veya ifadeler gibi bağımsız değişkenleri alabilir.

Bildirim söz dizimi

Prosedür bildirme Function sözdizimi aşağıdaki gibidir:

[Modifiers] Function FunctionName [(ParameterList)] As ReturnType
    [Statements]
End Function

Değiştiriciler, erişim düzeyini ve aşırı yükleme, geçersiz kılma, paylaşma ve gölgelendirmeyle ilgili bilgileri belirtebilir. Daha fazla bilgi için bkz . İşlev Deyimi.

Her parametreyi Alt Yordamlar için yaptığınız gibi bildirirsiniz.

Veri türü

Her Function yordamın, her değişkende olduğu gibi bir veri türü vardır. Bu veri türü deyimindeki AsFunction yan tümcesi tarafından belirtilir ve işlevin çağıran koda döndürdüğü değerin veri türünü belirler. Aşağıdaki örnek bildirimler bunu gösterir.

Function Yesterday() As Date
End Function

Function FindSqrt(radicand As Single) As Single
End Function

Daha fazla bilgi için bkz. İşlev Deyimindeki "Parçalar".

Değerlerin geri döndürülmesi

Bir Function yordamın çağıran koda geri gönderdiği değer, dönüş değeri olarak adlandırılır. Yordam şu iki yoldan biriyle bu değeri döndürür:

  • Return deyimini kullanarak dönüş değerini belirtir ve denetimi hemen çağıran programa geri döndürür. Aşağıdaki örnek bunu göstermektedir.

    Function FunctionName [(ParameterList)] As ReturnType
        ' The following statement immediately transfers control back
        ' to the calling code and returns the value of Expression.
        Return Expression
    End Function
    
  • Bir veya daha fazla yordam deyiminde, kendi fonksiyon adına bir değer atar. Denetim, bir Exit Function veya End Function deyimi yürütülene kadar çağırma programına dönmez. Aşağıdaki örnek bunu göstermektedir.

    Function FunctionName [(ParameterList)] As ReturnType
        ' The following statement does not transfer control back to the calling code.
        FunctionName = Expression
        ' When control returns to the calling code, Expression is the return value.
    End Function
    

dönüş değerini işlev adına atamanın avantajı, denetimin bir Exit Function veya End Function deyimiyle karşılaşana kadar yordamdan dönmemesidir. Bu, bir ön değer atamanızı ve gerekirse daha sonra ayarlamanızı sağlar.

Değer döndürme hakkında daha fazla bilgi için bkz . İşlev Deyimi. Dizileri döndürme hakkında bilgi için bkz Arrays.

Çağırma söz dizimi

İsim ve bağımsız değişkenleri Function prosedürünü bir atama deyiminin sağ tarafına veya bir ifadeye ekleyerek çağırabilirsiniz. İsteğe bağlı olmayan tüm bağımsız değişkenler için değerler sağlamanız ve bağımsız değişken listesini parantez içine almanız gerekir. Hiçbir bağımsız değişken sağlanmazsa, isteğe bağlı olarak parantezleri atlayabilirsiniz.

Bir yordam çağrısının Function için söz dizimi aşağıdaki gibidir.

lvalue=işlev adı[(bağımsız değişken listesi)]

If (( functionname[(bağımsız değişken listesi)] / 3) <=ifade) Then

Bir Function yordamı çağırdığınızda, onun dönüş değerini kullanmanız gerekmez. Eğer bunu yapmazsanız, işlevin tüm işlemleri gerçekleştirilir, ancak dönüş değeri göz ardı edilir. MsgBox genellikle bu şekilde çağrılır.

Bildirim ve çağrı illüstrasyonu

Aşağıdaki Function prosedür, diğer iki kenarın değerleri verildiğinde bir dik üçgenin en uzun kenarı veya hipotenüsünü hesaplar.

Function Hypotenuse(side1 As Double, side2 As Double) As Double
    Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function

Aşağıdaki örnek, hypotenuse için tipik bir çağrıyı göstermektedir.

Dim testLength, testHypotenuse As Double
testHypotenuse = Hypotenuse(testLength, 10.7)

Ayrıca bkz.