20

プロパティを含むクラスがあります:

public bool IsMandatory {get;set;}

今、私はメソッドを追加していますIsMandatory(string str)

public bool IsMandatory(string str)
{
  //return false;
  //return true;
}

コンパイル時エラーが発生します

タイプにはすでに「IsMandatory」の定義が含まれています

C#でメソッド名とプロパティ名を同じにすることはできませんか?メソッドとプロパティを異なる方法で使用しますが、なぜこれがコンパイルエラーを引き起こすのですか?

4

2 に答える 2

20

名前が同じである可能性があると混乱を招くため、これはコンパイラ エラーです。あいまいさが生じる場合があります。たとえば、Action デリゲートなどを使用する場合、メソッドに括弧を付ける必要がない場合、およびvar.

于 2013-03-20T11:30:26.740 に答える
0

要するに、それは許可されていません。メンバー名 (フィールド、プロパティ、およびメソッド) は一意である必要があります。

于 2013-03-20T11:32:12.767 に答える