>>651
以下のようにすれば良いはず。

モジュールのメソッドとして DoAsShigematsu ( inInterface As aInterfaceClass ) を定義してあるとする。
(aInterfaceClass は ReplaceRb というメソッドを持つインターフェイス)

EditField を実装継承したクラスは aEditFieldClass という名前で aInterfaceClass をインターフェイス継承。
Socket を実装継承したクラスは aSocketClass という名前で aInterfaceClass をインターフェイス継承。

aEditFieldClass , aSocketClass の ReplaceRb をそれぞれ実装。
(aSocketClass の ReplaceRb ではユーザに確認させる)

DoAsShigematsu メソッド内で
inInterface.RepalceRb という記述を行う。

これで aEditFieldClass , aSocketClass それぞれのイベントやメソッドからも、
DoAsShigematsu ( Me ) という同じ記述で呼び出すことができるようになる。
(もちろんそれ以外の場所からも
 DoAsShigematsu ( aEditFieldClass型の変数 ) とか
 DoAsShigematsu ( aSocketClass型の変数 ) とかで呼び出せる )

ただし効率を考えるならば、この場合 DoAsShigematsu というメソッドが
適度に複雑な処理(たとえば再帰など)を行っていることが望ましい。
そうでなければ、汎用性を考えてメソッドを切り分ける意味がないから。