3 Stimmen

Methodenausführung in .NET zulassen oder verbieten

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?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X