Mi chiedo questo, dal momento che ho bisogno di ereditare da StringBuilder
per implementare un evento TextChanged
. Potrei sempre creare un wrapper contenente un private StringBuilder
e conversioni implicite/esplicite, ma questa non sembra una soluzione adeguata.Perché la classe StringBuilder è sigillata?
Fortunatamente posso ereditare dall'oggetto che sta scrivendo su StringBuilder, quindi questo non è un problema per me, ma sono ancora curioso di sapere perché quella classe sia sigillata.
Perché è necessario gestire un evento "TextChanged" di StringBuilder? Tu sei colui che aggiunge del testo ad esso. Presumo che le considerazioni sulle prestazioni superino la loro estensibilità. –
@Tim Cosa succede se è un 'StringWriter' o una funzione nativa come' SendMessage'? Inoltre, gli eventi sono generalmente più piacevoli con cui lavorare che scrivere codice come "void WriteToBuilder (StringBuilder sb, string text)". – KappaG3
["Progettare e documentare per ereditarietà o altrimenti vietarlo"] (http://martinfowler.com/bliki/DesignedInheritance.html) – dasblinkenlight