2016-03-22 8 views
0

ich die einfachste Eigenschaft bekam wieEigenschaftsset Methode ohne private Variable

public bool Something { get; set; } 

Aber in fast jeder von ihnen Ich brauche eine Methode nach Satz zu nennen, so eine Zeile wurde

private bool _something; 
public bool Something { 
    get{ 
     return _something; 
    } 
    set{ 
     _something = value; 
     CallMethod(); 
    } 
} 

Aber es hat alle visuelle Seite des Codes durchbrochen. Also meine Frage ist, wenn ich Setter-Methode aufrufen und mit klarem Code bleiben kann?

+3

das sieht gut aus. Alles andere, was du tust, würde einfach Komplexität hinzufügen. Schönheit liegt im Auge des Betrachters. – user1666620

+1

Was machen Sie in 'CallMethod'? Sie können sich einige aspektorientierte Programmierbibliotheken anschauen, um zu sehen, ob sie automatische Eigenschaften unterstützen. –

+0

Was 'CallMethod' auch tun ... In der nächsten Version von C# sollten sie tun ' public bool Something {get; setze {CallMethod(); }} ' –

Antwort

0

Soweit ich weiß, ist die einfache Antwort nein. Wenn Sie Ihre Eigenschaft nur mit get und set erstellen, wird dies als auto-property bezeichnet. Der Compiler erstellt weiterhin den vollständigen Code mit der privaten Sicherungsvariablen.

Was Sie haben, würde als Standardcodierungspraxis betrachtet werden. Es sind ein paar zusätzliche Zeilen Code, aber leicht lesbar.

Verwandte Themen