16/02/07 22:46:28.86 2xuESUN6.net
>>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フィールドなんかよほどの事情が無い限り使っちゃダメ