なぜ私は次のことができないのですか?
public interface ICommunication
{
int Send(Dictionary<string, string> d);
int Send(byte[] b);
Dictionary<string, string> Receive();
byte[] Receive(); // Error
}
の署名Receive()
は異なりますが、パラメーターは同じです。コンパイラがメンバ シグネチャではなくパラメータを調べるのはなぜですか?
ICommunication' は、同じパラメーター タイプを持つ 'Receive' というメンバーを既に定義しています。
どうすればこれを回避できますか?
以下のように名前を変更することもできReceive()
ますが、名前をそのままにしておくことをお勧めしReceive()
ます。
public interface ICommunication
{
int Send(Dictionary<string, string> d);
int Send(byte[] b);
Dictionary<string, string> ReceiveDictionary();
byte[] ReceiveBytes();
}