Ich muss einige einfache Sicherheit in einer Klasse zu organisieren, hängt von Wert der Enum. Alles, was ich herausfinden kann, ist mit Attribut auf eine Methode und dann überprüfen Sie dann, wenn es fehlschlägt eine Ausnahme werfen. Beispiel:
[ModulePermission(PermissonFlags.Create)]
public void CreateNew()
{
CheckPermission();
System.Windows.Forms.MessageBox.Show("Created!");
}
protected void CheckPermission()
{
var method = new System.Diagnostics.StackTrace().GetFrame(1).GetMethod();
if (!flags.HasFlag(method.GetCustomAttributes(true).Cast<ModulePermissionAttribute>().First().Flags))
{
throw new ApplicationException("Access denied");
}
}
gibt es eleganter oder einfacher Weg, dies zu tun, wie nur ein Ereignis auslösen, wenn Methode ausführen?