[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 11782] Re: 本日の議事録



江元です。


> > > そんな事はないですよ。
> > > C#ではメソッド単位でもObsolete属性を付加する事ができます。
> > > そして、コンパイルすれば、警告を出します。
> > 
> > そのようですね。
> > オーバーライドされたメソッドのみにObsolete属性をつけただけでは、警告は表示さ
> > れないですね。
> 
> オーバーライド”した”メソッドのみの間違いです。
> 失礼しました。

そうですね。
考えてみると、
警告は、そのメソッドの呼び出し側に対して
警告を出しているわけですが

サブクラスのメソッドだけがObsoleteになるという事
は、その基底クラスのメソッドに依存する事で、
呼び出し側に警告を出すような変更(削除予定・使用不可)が
サブクラスにだけ行われる事は、考えにくいからでしょう。
例えば、警告が出たとしても、明示的にスーパークラスの呼び出し
をさせる事はありませんし、削除されるのを待つしかないので
警告だされても直しようがない。
という事になってしまいます。

個人的には出ない方が普通だと思いました。