问题 设置受保护的类的变量

布布

成员
已加入
2020年1月28日
留言内容
5
编程经验
Beginner
嗨,所以我只是在玩一些属性,并在这种自动实现属性的概念中苦苦挣扎
例子

受保护的int健康{放; }

通常情况下,我会在下面通过get / set进行私人医疗和公开方法。我不清楚如何通过main访问受保护的get / set?还是我仍然需要使用其他方法来访问/更改此受保护的变量?

先感谢您
 

约翰·H

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
1,076
地点
挪威
编程经验
10+
如下面的示例所示,当您声明一个属性时,编译器将创建一个私有的匿名后备字段,该字段将 只能通过属性的get和set访问 存取器。
因此,您也可以在内部在类中直接使用该属性。
 

约翰·H

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
1,076
地点
挪威
编程经验
10+
我链接到的文章有示例。
 

约翰·H

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
1,076
地点
挪威
编程经验
10+
受保护的成员可以在其类内以及派生类实例进行访问。
这几乎与私有领域相同;私有只能在其类内访问。
 

约翰·H

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
1,076
地点
挪威
编程经验
10+
A property is not a variable. Properties is the external interface for internal state that is stored in private fields (class variables). Maybe protected isn't the right modifier for you? Of course the property can be protected if it is supposed to only be accessible is derived classes, but if you meant it to be accessible to other classes then you must declare it public or internal.
如果您不希望在类外部访问此存储,则不应将其写为属性,而应写为私有字段。
 
Last edited:
最佳 底部