これは非常にばかげた質問かもしれませんが、戻り値の型が異なる場合に同じシグネチャを持つ 2 つのメソッドを宣言できない理由がわかりません。
public class MyClass
{
private double d = 0;
public double MyMethod()
{
return d;
}
public string MyMethod()
{
return d.ToString();
}
}
クラスが同じパラメーター型のメンバーを既に定義していることを示すコンパイル エラーが発生します。
(明らかに、私のコードでこれを使用している方法は、私のコード例ほど単純ではありません...しかし、アイデアが伝わると思います。)
私が行おうとしているものを OOP アンチパターンにする OO 設計に関する何かが欠けていますか? 確かに、どのメソッドが必要かを具体的に伝える限り、コンパイラはどのメソッドを使用しようとしているかを判断できるはずです。
次MyClass myClass = new MyClass();
のコードが機能することを期待するとします。
double d = myClass.MyMethod();
string s = myClass.MyMethod();
次のコードには問題があると思います。
var v = myClass.MyMethod();
ただし、その場合でもvar
コンパイルエラーになるはずです。
ここで私が間違っていることを誰かが見ることができますか? 訂正していただけるとさらに嬉しいです。:-)