ふらっとC♯(初心者用) Part6
■ このスレッドは過去ログ倉庫に格納されています
0032デフォルトの名無しさん
2005/08/16(火) 18:58:13そこまで調べたなら上出来だ。
ちょっと解説を付けとこう。
ヘルプのSystem.Reflection.MethodBaseクラスのIsVirtualプロパティにそこら辺の情報がある。
ちなみにこのプロパティはメソッドにvirtual属性がついてるかどうかを返すって単純なもの。
かいつまんで言うと、コンパイラはインターフェイスの実装メンバには必ずvirtual属性を付けなければならない。
その場合、クラスでその実装メンバがvirtualやabstractで修飾されていない場合はfinal属性を付けてオーバーライド禁止であることを示す。
何でこんな事をするかって言うと、
インターフェイスの明示的実装が内部でインターフェイスメンバのオーバーライドとして表現されるから、
内部的にはvirtualじゃないとまずいのね。
>>31
ごく真っ当な手法だと思うんだが、なにがどういまいちと感じるんだ?
■ このスレッドは過去ログ倉庫に格納されています