Nasıl yapılır: İsteğe Bağlı Parametreler İsteyen Bir Yordamı Aşırı Yükleme (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. Daha fazla bilgi için, Aşırı Yükleme Yordamlarındaki Önemli Noktalar bölümünde yer alan "İsteğe Bağlı Parametreler için Örtük Aşırı Yüklemeler" bölümüne bakın.

İ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. or anahtar sözcüğünden Sub önce Overloads anahtar sözcüğünü ekleyin.Function

  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. Yordamı uygun şekilde veya End Function deyimiyle End Sub 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. Yordamı uygun şekilde veya End Function deyimiyle End Sub 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. Yordamın yapısına bağlı olarak, mantığın netliğini aşırı yüklenmiş tüm sürümleri tanımlamaya yönelik ek çabayı haklı çıkardığını fark edebilirsiniz.

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 or Function anahtar sözcüğünden Sub ö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 yordamı uygun şekilde veya End Function deyimiyle End Sub sonlandırın.

Ayrıca bkz.