- ふらっと C#,C♯,C#(初心者用) Part119 [無断転載禁止]©2ch.net
228 :デフォルトの名無しさん[sage]:2016/02/07(日) 22:46:28.86 ID:2xuESUN6 - >>226
そもそも何のためにAでstrmを宣言してるの? Aの中でStreamに対する共通の処理(Close)の面倒を見たいとか? だったらこうすればいい
abstract class A { protected abstract Stream Stream { get; } public void CloseStream() { this.Stream.Close(); } } class B : A { private Stream strm; public B() { strm = new FileStream(); } protected override Stream Stream { get { return strm; } } } protectedフィールドなんかよほどの事情が無い限り使っちゃダメ
|