我正在使用一个封闭源代码基类。我可以以某种方式从我的继承类中更改基类中的私有字段吗?你可以修改超类的私人领域吗?
假设下面的类结构:
public class Parent
{
private bool age;
}
public class Baby : Parent
{
public bool newAge{
get {
return age;
}
}
}
目前这给你一个编译时错误:
'Parent.age' is inaccessible due to its protection level.
如何从婴儿类访问现场“年龄”?你能使用reflection或类似的东西吗?
父类是普通类还是部分类? – everton 2011-12-19 20:14:52
父类是一个抽象类。 – 2011-12-19 20:42:50
如果基类的作者希望你能够做到这一点,那么他们会让这个领域受到保护。很明显,他们不*希望你这样做,所以不要这样做。如果你想添加这个功能,**放入一个功能请求**。不要做出危险脆弱的代码,依赖于实现细节,类的作者故意阻止你依赖*。 – 2011-12-19 20:54:41