イベントStringBuilder
を実装するには継承する必要があるので、これは不思議です。TextChanged
a および暗黙的/明示的な変換を含むラッパーをいつでも作成できますがprivate StringBuilder
、これは適切な解決策とは思えません。
幸いなことに、StringBuilder に書き込みを行っているオブジェクトから継承できるので、これは私にとってはそれほど問題ではありませんが、なぜそのクラスが封印されているのかについてはまだ興味があります。
イベントStringBuilder
を実装するには継承する必要があるので、これは不思議です。TextChanged
a および暗黙的/明示的な変換を含むラッパーをいつでも作成できますがprivate StringBuilder
、これは適切な解決策とは思えません。
幸いなことに、StringBuilder に書き込みを行っているオブジェクトから継承できるので、これは私にとってはそれほど問題ではありませんが、なぜそのクラスが封印されているのかについてはまだ興味があります。
StringBuilder
文字列をアセンブルするため、シールされます。たとえば、使用はスコープ内で制限される必要があるため、継承する理由があってはなりません。StringBuilder
の代わりになるものではなく、string
決してそのように使用しないでください。このクラスの目標は、変更可能な文字列を必要とする操作を、パフォーマンスを犠牲にすることなく簡単に処理できるようにすることでした。StringBuilder
そのため、クラスが変更可能な文字列を処理するため、からの継承がユーティリティを提供する方法はなく、セキュリティ上の問題が発生する可能性があります。
参照ソースを見てください。これは単純なクラスではなく、厳密に焦点を絞ったユーティリティです。さらにunsafe
、継承を許可すると、セキュリティを損なう可能性のある安全でないコードの変更が許可されます。