IL での明示的なインターフェイスの実装を見てきました。Method
次のクラスのメソッド(インターフェイスIA
にはシングルMethod()
があります):
public class B : IA
object IA.Method() {
/* code */
}
}
次の IL メソッド シグネチャにコンパイルされます。
.method private hidebysig newslot virtual final instance object IA.Method() cil managed {
.override IA::Method
/* code */
}
私の質問は、なぜメソッド名IA.Method()
が単なるストレートではなくIL なのMethod
ですか? これは実際には何を意味し、見逃しているとなぜ機能しないのでしょうか? ECMA仕様やグーグルで何も見つかりません。