我确实写了一个类成员的c访问器
SomeClass const& x() const { return m_x; }
似乎c#中这种唯一的保护是使用私有(或未定义)集定义属性.但是这只能防止分配而不是操纵某些阶级状态.
旁注:c允许通过const指针删除m_x – 恕我直言,这简直是对标准体的疏忽.
最佳答案 C中的const不能防止任何事情,您可以毫无问题地将其丢弃.
虽然C#没有它的等价物,但你可以(并且通常应该)创建真正的不可变类.这将constness的负担放在它所属的对象上,并且你无法做任何事情来“抛弃它”(禁止反射).