【发布时间】:2020-05-27 16:53:32
【问题描述】:
此行给出错误:无法通过BaseClass 类型的限定符访问受保护的成员BaseClass.number,限定符必须为DerivedClass 类型(或派生自它)有人可以帮我解决这个问题。看下面的代码
提前感谢
using System;
public class BaseClass
{
protected int number = 10;
}
public class DerivedClass: BaseClass
{
public void Print()
{
BaseClass obj = new BaseClass();
//Console.WriteLine(obj.number);
// we get error if we try to print why?
}
}
class Program
{
public static void Main()
{
DerivedClass obj2 = new DerivedClass();
obj2.Print();
}
}
但是为什么编译器会出错。 为什么这种调用方法是错误的
【问题讨论】:
-
protected keyword - 只有通过派生类类型进行访问时,才能在派生类中访问基类的受保护成员。 - 它回答了您的问题吗?
-
使用this.number代替obj.number
-
@Rafalon 它也可以在它定义的类中访问。