为什么我无法访问子类中的受保护变量?
我有一个带有受保护变量的抽象类,
abstract class Beverage
{
protected string description;
}
我无法从子类访问它。 Intellisense 不显示它可访问。为什么会这样呢?
class Espresso:Beverage
{
//this.description ??
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
简短回答:
description
是一种特殊类型的变量,称为“MSDN 上的字段。长答案:您必须访问子类的构造函数、方法、属性等中的受保护字段。
在
class
声明中,您声明该类的成员。这些可能是字段、属性、方法等。这些不是要执行的命令性语句。与方法内的代码不同,它们只是告诉编译器类的成员是什么。在某些类成员(例如构造函数、方法和属性)内,您可以放置命令式代码。这是一个例子:
Short answer:
description
is a special type of variable called a "field". You may wish to read up on fields on MSDN.Long answer: You must access the protected field in a constructor, method, property, etc. of the subclass.
Inside a
class
declaration, you declare the members of the class. These may be fields, properties, methods, etc. These are not imperative statements to be executed. Unlike code inside a method, they simply tell the compiler what the members of the class are.Inside certain class members, such as constructors, methods, and properties, is where you put your imperative code. Here is an example:
您可以从方法内访问它。试试这个:
You can access it from within a method. Try this: