Ali*_*r77 6 c# readonly immutability
我有三节课; 类A和B两个引用类C.
我如何才能这样做,以便C在从类引用时可以修改类的成员,A但在从类引用时不进行修改B?
IE,以下应该是可能的;
classA myClassA = new classA();
myClassA.myClassC.IssueNumber = 3;
Run Code Online (Sandbox Code Playgroud)
但这不应该是可能的;
classB myClassB = new classB();
myClassB.myClassC.IssueNumber = 3;
Run Code Online (Sandbox Code Playgroud)
使classB.classC只读仍然允许classC改变属性.
我确信这是基本的东西,但找不到简单的答案.
谢谢
Fra*_*nov 17
模式1:创建一个简单的只读接口IRead.制作一个简单的写接口IWrite.创建一个读写接口IReadWrite : IRead, IWrite.实施classC : IReadWrite.声明myClassA.myClassC为IReadWrite.声明myClassB.myClassC为IRead.(IWrite如果您不需要,您无需在任何地方使用:-))
模式2:为classC被调用创建一个只读包装器ReadOnlyClassC并使用该包装器classB.
IO流使用模式1来分割读写器实现,然后将它们组合在读写流中.
泛型集合使用模式2来提供只读方面.