C# – 使字段属性有条件地读取

C# – 使字段属性有条件地读取,第1张

概述我有三节课; A类和B类都引用了C类. 我怎样才能使C类成员在从A类引用时可以修改,但在从B类引用时不能修改? IE,以下应该是可能的; classA myClassA = new classA();myClassA.myClassC.IssueNumber = 3; 但这不应该是可能的; classB myClassB = new classB();myClassB.myClassC.Iss 我有三节课; A类和B类都引用了C类.

我怎样才能使C类成员在从A类引用时可以修改,但在从B类引用时不能修改?

IE,以下应该是可能的;

classA myClassA = new classA();myClassA.myClassC.IssueNumber = 3;

但这不应该是可能的;

classB myClassB = new classB();myClassB.myClassC.IssueNumber = 3;

使classB.classC只读仍然允许更改classC的属性.

我确信这是基本的东西,但找不到简单的答案.

谢谢,
一个

@H_502_20@解决方法 模式1:创建一个简单的只读接口IRead.制作一个简单的写入界面IWrite.创建一个读写接口IReaDWrite:IRead,IWrite.实现classC:IReaDWrite.将myClassA.myClassC声明为IReaDWrite.将myClassB.myClassC声明为IRead. (如果你不需要,你不必在任何地方使用IWrite :-))

模式2:为classC创建一个名为ReadonlyClassC的只读包装器,并在classB中使用它.

IO流使用模式1来分割读写器实现,然后将它们组合在读写流中.

泛型集合使用模式2来提供只读方面.

总结

以上是内存溢出为你收集整理的C# – 使字段/属性有条件地读取全部内容,希望文章能够帮你解决C# – 使字段/属性有条件地读取所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1240990.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存