Shadows (Visual Basic)

Bir temel sınıfta, belirtilen bir programlama öğesinin, aynı adlı bir öğeyi yeniden bildirdiğini ve daha fazla yüklenmiş öğeler kümesini gizlediğini belirtir.

Açıklamalar

Gölgeleme için ana amaç ( ada göre gizleme olarak da bilinir), sınıf üyelerinizin tanımını korur. Temel sınıf, zaten tanımlamış olduğunuz adla aynı ada sahip bir öğe oluşturan bir değişikliği olumsuz etkileyebilir. Bu durumda, değiştirici, Shadows sınıfınızın içindeki başvuruyu, yeni temel sınıf öğesi yerine tanımladığınız üyeye çözümlenmeye zorlar.

Hem gölgeleme hem de geçersiz kılma devralınan bir öğeyi yeniden tanımlayın, ancak iki yaklaşım arasında önemli farklılıklar vardır. Daha fazla bilgi için Visual Basic 'Da gölgelemebölümüne bakın.

Kurallar

  • Bildirim bağlamı. ShadowsYalnızca sınıf düzeyinde kullanabilirsiniz. Yani bir öğe için bildirim bağlamı Shadows bir sınıf olmalıdır ve kaynak dosya, ad alanı, arabirim, modül, yapı veya yordam olamaz.

    Tek bir bildirim ifadesinde yalnızca bir gölgeleme öğesi bildirebilirsiniz.

  • Birleşik değiştiriciler. Shadows Overloads Aynı bildirimde, veya ile birlikte belirtemezsiniz Overrides Static .

  • Öğe türleri. Herhangi bir tür tanımlanmış öğeyi başka bir tür ile gölgelendirebilmeniz gerekir. Bir özelliği veya yordamı başka bir özellik veya yordamla gölgelendirebiliyorsanız, parametrelerin ve dönüş türünün temel sınıf özelliği veya yordamındakilerle eşleşmesi gerekmez.

  • Erişme. Temel sınıftaki gölgelendirilmiş öğe, normalde onu gölgelendirilebilen türetilmiş sınıfın içinden kullanılamaz. Ancak aşağıdaki noktalar geçerlidir.

    • Gölgeleme öğesine başvuran koddan erişilebilir değilse, başvuru gölgelendirilmiş öğe olarak çözümlenir. Örneğin, bir öğe bir Private temel sınıf öğesini gölerse, öğesine erişim izni olmayan kod, Private bunun yerine temel sınıf öğesine erişir.

    • Bir öğeyi gölgelendiriseniz, taban sınıfının türüyle belirtilen bir nesne aracılığıyla gölgelendirilmiş öğeye erişmeye devam edebilirsiniz. Ayrıca, üzerinden de erişebilirsiniz MyBase .

ShadowsDeğiştirici şu bağlamlarda kullanılabilir:

Ayrıca bkz.