4
はなぜ次クラスの定義は、プライベートデータメンバーother._name
と別のオブジェクトと同じクラスののother._id
にアクセスすることができますすることができますか?次のクラスの定義は、同じクラスの別のオブジェクトのプライベートデータメンバーにアクセスできるのはなぜですか?
ありがとうございました。あなたがprivate
のドキュメントを見れば
public class MyData : IEquatable<MyData>
{
private long _id;
private string _name;
public bool Equals(MyData other)
{
bool ret =
string.Equals(_name, other._name) &&
long.Equals(_id, other._id);
return ret;
}
}
アクセシビリティ修飾子はオブジェクトではなく型に適用されるためです。 – Rob
ありがとうございます。私はまだ理解していない。あなたは例を挙げることができますか? – Tim
さて、あなたの質問は*本当に例です。 'private'は' MyData' *の外部からアクセスできない*メンバーに注釈を付けます。 'Equals'はまだ' MyData'の中にあるので、常にMyData._nameとMyData._idにアクセスできます。現在のインスタンスは関係ありません – Rob