C#友好类和OOP组合给定一个包含原始数据集的类A和一个包含该数据的重组版本(GUI就绪)的类B,我想制作RawA中的数据在B中是可见的。显然,A类中的原始数据包含在私有成员中。我想通过使用类似于C++友元类方法的方法使这些数据在B中可见。我该如何处理?谢谢。严格来说,您不能定义可以向其公开数据的特定类(或类列表)。但是,您可以使用internal访问修饰符而不是private修饰符,这使得同一程序集中的任何类都可以使用该成员。话虽如此,您应该强烈考虑通过属性而不是字段公开这些成员(我猜您打算公开这些成员)。这样做将允许类准确定义信息如何暴露给其他类,以及当另一个类更改数据时应该发生什么(如果有的话)。也许这可能对你有帮助。否则抛出新的UnauthorizedAccessException();}}publicclassB{publicB(){}privatevoidAccessDataFromA(){Console.WriteLine(newA().AccessData(this));您可以在程序集中定义它们并将A中的字段标记为"internal"。一种更面向对象的方法是在A中提供一组公共方法,这些方法通常通过简单的属性允许访问数据(或数据的子集)。根据您的结构,您可以使用部分类。这意味着数据和UI实际上都在同一个类中,但是您将它们放在不同的文件中。如果这对您不起作用,那么您可以使用内部范围变量作为替代方法,或者以更通用的方式使用由UI表示的数据集。旧方法(双关语意)是定义简单的getvalue()和setvalue()函数来返回值,这样如果不使用这些函数,这些值将变得不可访问,这些函数在C#中是预定义的成员,称为属性。类TestMethod{privateintSecret;get{returnSecret;}set{Secret=value;}}另一种方法是,正如其他人在我之前所说的那样,只需使用内部修饰符。以上就是C#学习教程:C#朋友类与OOP结合分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
