Aracılığıyla paylaş


İsteğe Bağlı Parametreler Alan Bir Yordam Nasıl Aşırı Yüklenir (Visual Basic)

Bir yordamda bir veya daha fazla İsteğe bağlı parametre varsa, örtük aşırı yüklemelerinden herhangi biriyle eşleşen aşırı yüklenmiş bir sürüm tanımlayamazsınız. Aşırı Yükleme Yordamlarındaki Önemli Noktalar başlığındaki "İsteğe Bağlı Parametreler için Örtük Aşırı Yüklemeler" bölümüne bakarak daha fazla bilgi edinebilirsiniz.

İsteğe Bağlı Bir Parametre

İsteğe bağlı bir parametre alan bir yordamı aşırı yüklemek için

  1. Parametre listesinde isteğe bağlı parametresini içeren bir Sub veya Function bildirim deyimi yazın. Bu aşırı yüklenmiş sürümde anahtar sözcüğünü Optional kullanmayın.

  2. Sub veya Function anahtar sözcüğünden önce Overloads anahtar sözcüğünü ekleyin.

  3. Çağıran kod isteğe bağlı bağımsız değişken sağladığında yürütülmesi gereken yordam kodunu yazın.

  4. İşlemi End Sub veya End Function deyimiyle uygun şekilde sonlandırın.

  5. parametre listesinde isteğe bağlı parametresini içermemesi dışında ilk bildirimle aynı olan ikinci bir bildirim deyimi yazın.

  6. Çağıran kod isteğe bağlı bağımsız değişkeni sağlamadığında yürütülmesi gereken yordam kodunu yazın. İşlemi End Sub veya End Function deyimiyle uygun şekilde sonlandırın.

    Aşağıdaki örnekte isteğe bağlı bir parametreyle tanımlanan bir yordam, iki aşırı yüklenmiş yordamdan oluşan eşdeğer bir küme ve son olarak hem geçersiz hem de geçerli aşırı yüklenmiş sürümlerin örnekleri gösterilmektedir.

    Sub q(ByVal b As Byte, Optional ByVal j As Long = 6)
    
    ' The preceding definition is equivalent to the following two overloads.
    ' Overloads Sub q(ByVal b As Byte)
    ' Overloads Sub q(ByVal b As Byte, ByVal j As Long)
    
    ' Therefore, the following overload is not valid because the signature is already in use.
    ' Overloads Sub q(ByVal c As Byte, ByVal k As Long)
    ' The following overload uses a different signature and is valid.
    Overloads Sub q(ByVal b As Byte, ByVal j As Long, ByVal s As Single)
    

Birden Çok İsteğe Bağlı Parametre

Birden fazla isteğe bağlı parametreye sahip bir yordam için normalde ikiden fazla aşırı yüklenmiş sürüme ihtiyacınız vardır. Örneğin, isteğe bağlı iki parametre varsa ve çağıran kod her birini birbirinden bağımsız olarak sağlayabilir veya atlayabilirse, sağlanan bağımsız değişkenlerin her olası bileşimi için bir tane olan dört aşırı yüklenmiş sürüme ihtiyacınız vardır.

İsteğe bağlı parametrelerin sayısı arttıkça aşırı yüklemenin karmaşıklığı artar. Sağlanan bağımsız değişkenlerin bazı birleşimleri kabul edilemez değilse, N isteğe bağlı parametreler için 2 ^ N aşırı yüklenmiş sürüme ihtiyacınız vardır. İşlemin doğasına bağlı olarak, mantığın netliği, farklı sürümleri tanımlamak için gereken ek çabayı haklı çıkarabilir.

Birden fazla isteğe bağlı parametre alan bir yordamı aşırı yüklemek için

  1. Sağlanan isteğe bağlı bağımsız değişkenlerin hangi birleşimlerinin yordamın mantığı için kabul edilebilir olduğunu belirleyin. İsteğe bağlı bir parametre başka bir parametreye bağlıysa kabul edilemez bir birleşim ortaya çıkabilir. Örneğin, bir parametre bir kişinin adını kabul ederse ve başka bir parametre kişinin yaşını kabul ederse, yaşı sağlayan ancak adı atlayan bağımsız değişkenlerin bir bileşimi kabul edilemez.

  2. Sağlanan isteğe bağlı bağımsız değişkenlerin kabul edilebilir her birleşimi için, karşılık gelen parametre listesini tanımlayan bir Sub veya Function bildirim deyimi yazın. anahtar sözcüğünü Optional kullanmayın.

  3. Her bildirimde, Sub veya Function anahtar sözcüğünden önce Overloads anahtar sözcüğünü yazın.

  4. Her bildirimin ardından, çağıran kod bu bildirimin parametre listesine karşılık gelen bir bağımsız değişken listesi sağladığında yürütülmesi gereken yordam kodunu yazın.

  5. Her prosedürü uygun şekilde End Sub veya End Function deyimiyle sonlandırın.

Ayrıca bakınız