Aracılığıyla paylaş


Aşırı Yükleme Çözümü (Visual Basic Başvurusu)

Zaman Visual Basic derleyici karşılaştığında aşırı yüklü sürümlerinde tanımlanan bir yordam çağrısına, derleyici, aşırı çağırmak için karar vermeniz gerekir.Bunu aşağıdaki adımları uygulayarak yapar:

  1. Erişilebilirlik. Onu çağıran kodun onu çağırmasını engeller bir erişim düzeyi ile herhangi bir aşırı ortadan kaldırır.

  2. Parametre sayısı. Farklı sayıda parametreleri çağrısında sağlanan çok tanımlayan aşırı ortadan.

  3. Parametre veri türleri. Derleyici örnek yöntemleri tercih uzantısı yöntemleri verir.Herhangi bir oluşum yöntemi yalnızca yordam çağrısına dönüşümleri widening gerektiren bulunursa, tüm uzantısı yöntemleri bırakılan ve derleyici yalnızca örnek yöntemi adaylar ile devam eder.Böyle bir oluşum yöntemi bulunursa, hem örneği hem de uzantısı yöntemleri ile devam eder.

    Bu adımda, kendisi için arama bağımsız değişkenlerinin veri türlerini aşırı tanımlanan parametre türleri dönüştürülemez herhangi bir aşırı ortadan kaldırır.

  4. Daraltma dönüşümleri yapılır. Arama bağımsız değişken tiplerinin daraltma dönüştürmesi için tanımlanmış parametre türleri gerektiren herhangi bir aşırı ortadan.Bu tür denetlemesi mi geçiş geçerlidir (Option Strict Deyimi) ise On veya Off.

  5. En az Widening. Derleyici çiftler kalan aşırı dikkate alır.Her bir çifti, tanımlanmış parametre veri türleri karşılaştırır.Derleyici için diğer türleri ve karşılık gelen tüm aşırı birinde türleri genişletmek, ikincisi ortadan kaldırır.Diğer bir deyişle genişletmenin en az miktarda gerektiren aşırı korur.

  6. Tek aday. Çiftleri tek kadar aşırı aşırı kalır ve o aşırı çağrısına çözümler considering devam eder.Derleyici tek bir aday için aşırı azaltmak olamaz, bir hata üretir.

Aşırı yüklü sürümlerini görmek çağırmak için bir dizi hangi işlem aşağıda gösterilmiştir.

Aşırı yüklü sürümlerini görmek arasında çözme

Aşırı çözüm işleminin Akış Diyagramı

Aşağıdaki örnekte, bu aşırı çözümleme işlemi gösterilmektedir.

Overloads Sub z(ByVal x As Byte, ByVal y As Double)
End Sub 
Overloads Sub z(ByVal x As Short, ByVal y As Single)
End Sub 
Overloads Sub z(ByVal x As Integer, ByVal y As Single)
End Sub
Dim r, s As Short 
Call z(r, s)
Dim p As Byte, q As Short 
' The following statement causes an overload resolution error. 
Call z(p, q)

Çünkü derleyici ilk çağrıda ilk aşırı ortadan ilk bağımsız değişkenin türü (Short) karşılık gelen parametrenin türüne daraltır (Byte).Tür bağımsız değişkeni, her çünkü ikinci overload sonra üçüncü aşırı ortadan (Short ve Single) üçüncü aşırı ilgili yazıyla widens (Integer ve Single).Böylece derleyici arama için kullandığı ikinci aşırı daha az widening gerektirir.

İkinci çağrısında derleyici daraltmaya dayanılarak aşırı birini ortadan olamaz.Daha az bağımsız değişken türlerini widening ile ikinci aşırı çağırabilirsiniz çünkü ilk çağrıda olduğu gibi aynı nedenle üçüncü aşırı ortadan.Ancak, derleyici arasında birinci ve ikinci aşırı çözümlenemiyor.Her bir karşılık gelen türü widens tanımlanan parametre türü vardır (Byte için Short, ama Single için Double).Derleyici bu nedenle tekrar yükleme çözümlemesi hata üretir.

İsteğe bağlı aşırı ve bağımsız değişkenler ParamArray

Son parametre olarak bildirilmiş olmasıdır iki aþýrý yüklemesinin bir yordam aynı imzaya sahip, İsteğe Bağlı (Visual Basic) biri ve ParamArray (Visual Basic) diğerine, derleyici bu yordam çağrısı gibi giderir:

Çağrı son bağımsız değişken olarak sağlarsa

En son bağımsız değişken olarak bildirmek aşırı çağrısına derleyici giderir

Hiçbir değer (bağımsız değişken atlanırsa)

Optional

Tek bir değer

Optional

Virgülle ayrılmış bir liste iki veya daha fazla değer

ParamArray

(Boş bir dizi dahil) herhangi bir uzunluk dizisi

ParamArray

Ayrıca bkz.

Görevler

Yordam Sorunlarını Giderme (Visual Basic)

Nasıl yapılır: Bir Yordamın Birden Fazla Sürümünü Tanımlama (Visual Basic)

Nasıl yapılır: Aşırı Yüklenmiş Bir Yordamı Çağırma (Visual Basic)

Nasıl yapılır: İsteğe Bağlı Parametreler İsteyen Bir Yordamı Aşırı Yükleme (Visual Basic)

Nasıl yapılır: Belirsiz Sayıda Parametre İsteyen Bir Yordamı Aşırı Yükleme (Visual Basic)

Başvuru

Aşırı Yüklemeler (Visual Basic)

Kavramlar

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

Parametre Dizileri (Visual Basic)

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

Yordamları Aşırı Yüklemeye İlişkin Düşünceler (Visual Basic)

Uzantı Yöntemleri (Visual Basic)