WriteOnly (Visual Basic)
Megadja, hogy egy tulajdonság írható, de nem olvasható.
Megjegyzések
Szabályok
Deklarációs környezet. Csak modulszinten használható WriteOnly
. Ez azt jelenti, hogy egy WriteOnly
tulajdonság deklarációs környezetének osztálynak, struktúrának vagy modulnak kell lennie, és nem lehet forrásfájl, névtér vagy eljárás.
A tulajdonságot deklarálhatja változóként, de nem változóként WriteOnly
.
Mikor érdemes használni a WriteOnlyt?
Néha azt szeretné, hogy a fogyasztó kód beállíthasson egy értéket, de ne derítse fel, hogy mi az. A bizalmas adatokat, például a közösségi regisztrációs számot vagy a jelszót például minden olyan összetevőnek védenie kell a hozzáféréstől, amely nem állította be azokat. Ezekben az esetekben egy WriteOnly
tulajdonság használatával állíthatja be az értéket.
Fontos
Egy tulajdonság definiálásakor és használatakor WriteOnly
vegye figyelembe a következő további védelmi intézkedéseket:
Felülírása. Ha a tulajdonság egy osztály tagja, hagyja, hogy alapértelmezés szerint a NotOverridable legyen, és ne deklarálja azt
Overridable
vagyMustOverride
. Ez megakadályozza, hogy egy származtatott osztály felülbírálással nem kívánt hozzáférést biztosítson.Hozzáférési szint. Ha a tulajdonság bizalmas adatait egy vagy több változóban tárolja, deklarálja őket privátként , hogy más kód ne férhessen hozzá hozzájuk.
Titkosítás. Az összes bizalmas adat tárolása titkosított formában, nem egyszerű szövegben. Ha a rosszindulatú kódok valahogy hozzáférnek az adott memóriaterülethez, nehezebb az adatok felhasználása. A titkosítás akkor is hasznos, ha a bizalmas adatok szerializálására van szükség.
Helyreállít. A tulajdonságot meghatározó osztály, struktúra vagy modul leállásakor állítsa alaphelyzetbe a bizalmas adatokat alapértelmezett értékekre vagy más értelmetlen értékekre. Ez extra védelmet nyújt, ha a memória ezen területe felszabadul az általános hozzáféréshez.
Perzisztencia. Ne őrizzen meg bizalmas adatokat, például lemezen, ha el tudja kerülni. Emellett ne írjon bizalmas adatokat a vágólapra.
A WriteOnly
módosító ebben a környezetben használható: