最近我学习了C#,但是在C++中,我可以通过使用const
修饰符,在将对象传递给方法时实现更好的封装。但是在C#中,对象可以通过引用参数进行修改,例如在Graphics
对象上调用Dispose
。
有时我需要更多的封装。属性可以提供更好的解决方案。然而,我发现,例如对Form.Location
属性进行修改,甚至对其X
成员进行修改都是不允许的。尽管Form.Location
是一个get; set;
属性,但其成员不能被修改。我尝试使用一个{get; set;}
属性来实现这一点,但仍然可以修改X
成员。
当一个方法例如Dispose
一个对象时,这也是一个问题。
如何在C#中实现更多的封装?