Árnyékok (Visual Basic)

Azt határozza meg, hogy egy deklarált programozási elem egy azonos nevű elemet vagy túlterhelt elemeket rejt el egy alaposztályban.

Megjegyzések

Az árnyékolás (más néven elrejtés) fő célja az osztálytagok definíciójának megőrzése. Előfordulhat, hogy az alaposztály olyan módosításon megy keresztül, amely egy olyan elemet hoz létre, amelynek neve megegyezik a már definiált névvel. Ha ez történik, a módosító arra Shadows kényszeríti az osztályon keresztüli hivatkozásokat, hogy az új alaposztályelem helyett az Ön által meghatározott tagra legyenek feloldva.

Az árnyékolás és a felülírás is újradefiniál egy öröklött elemet, de a két megközelítés között jelentős különbségek vannak. További információ: Árnyékolás a Visual Basicben.

Szabályok

  • Deklarációs környezet. Csak osztályszinten használható Shadows . Ez azt jelenti, hogy egy Shadows elem deklarációs környezetének osztálynak kell lennie, és nem lehet forrásfájl, névtér, interfész, modul, struktúra vagy eljárás.

    Egyetlen deklarációs utasításban csak egy árnyékoló elemet deklarálhat.

  • Kombinált módosítók. A deklarációval OverridesOverloadsegyütt vagy Static ugyanabban a deklarációban nem adható megShadows.

  • Elemtípusok. Bármilyen deklarált elemet bármilyen más típussal árnyékba helyezhet. Ha egy tulajdonság vagy eljárás árnyékolása egy másik tulajdonsággal vagy eljárással történik, a paramétereknek és a visszatérési típusnak nem kell megegyeznie az alaposztály tulajdonságában vagy eljárásában szereplőkkel.

  • Bejutó. Az alaposztály árnyékolt eleme általában nem érhető el az árnyékot jelző származtatott osztályon belülről. A következő szempontok azonban érvényesek.

    • Ha az árnyékoló elem nem érhető el a rá hivatkozó kódból, a rendszer feloldja a hivatkozást az árnyékolt elemre. Ha például egy Private elem árnyékolást végez egy alaposztályelemen, az elem elérésére Private nem jogosult kód ehelyett az alaposztályelemhez fér hozzá.

    • Ha árnyékolt egy elemet, akkor is elérheti az árnyékolt elemet az alaposztály típusával deklarált objektumon keresztül. A parancsot a segítségével MyBaseis elérheti.

A Shadows módosító az alábbi környezetekben használható:

Lásd még