Biztonsági attribútumokkal a kódhoz való hozzáférés ellenőrzéséhez,

Itt.
Továbbá, a .NET biztonsági modell szempontjából a szerep egy karakterlánc. Ne beszéljünk a Microsoft szemüveges okos zsebével, a következő vonal:

Vegye figyelembe, hogy a vonalak konstansokként vannak megadva; egy kicsit később elmagyarázzam, miért szükséges ez.
Egyébként nincs szükség további segédosztályokra, így maga a program is továbbhaladhat. A konzolalkalmazást vázoltam, hogy ne haragudjam el a filozófiát: a prototípus bemutatásához általában le fog jönni. Ez az alkalmazás megmutatja, hogyan néz ki a PrincipalPermission attribútum kódban való használata, és itt általában további szavak feleslegesek:

Nos, lássuk, mi történt:

Az igazi viselkedés megfelel a várt viselkedésnek. Úgy tűnik, hogy minden működik. Megbízható, szép, könnyen használható. Lepota.

PS Ó, igen, elfelejtettem megmagyarázni, miért tartósan húzódnak a húrok. Ha ezt nem teszed meg, akkor a fordító nem fogja tudni összeállítani a programot, és nagyon kiengesztel:

Az attribútum tervező paramétereiben lévő állandók esetében: a metaadat attribútum összeállítható fordítási idő alatt, ezért annak paramétereit a fordítási idő állandóként kell megadni. Még mindig lehet typeof () kifejezések, vagy a kompilációs idő konstansainak tömbje.

Egy érdekes pontja tekintetében attribútumok: az attribútum konstruktor neve csak akkor, ha meg kell kérni rá. Tehát, ha a kivitelező szervezet ellenőrzi, hogy dobott ArgumentException Az az érv, akkor kidobják ezt az örömöt csak futási időben, de nem fordítási időben (és bocs, néha hasznos lenne)

Nos, talán van egy kis izgatott inkoherenciája visszaélés, de ami engem illet - ez olyan, mint olvasás követelmények nélkül egy csipetnyi magyarázat néz ki, mintha ... bár igen, fordítóprogram, hogy valamit, minden rendben.

Ami az attribútum konstruktort illeti, számomra úgy tűnik, hogy egy ilyen eszköz több lehetőséget kínál: különösen a tervező képes figyelembe venni a futásidejű környezetet, ami persze lehetetlen a fordítási szakaszban. Kényelmesebb lett volna a tulajdonságok kialakítása a fordítási szakaszban különleges esetekben, de nekem úgy tűnik, hogy az ár túl magas lenne.

Kapcsolódó cikkek