BaseClass私有函数如何在C#中的DerivedClass中访问?私人成员如何在C#中的派生类中访问?
回答
+1私人领域。如果您能够更改基类,则这是受保护的访问修饰符对于 – fletcher 2010-08-20 08:27:39
或者:
- 抬高从
private
其访问protected
- 或,添加另一个保护部件访问它,并且从派生的类
- 或,使用反射
- 使用该代替或者更改代码,以便您不需要访问它
4,我如果是私人财产或方法,则选择1;如果是私人领域,则选择2。我会在该字段周围添加受保护的属性。
它不能。如果您希望方法可以被派生类访问,那么您需要改为使用protected
。
此答案只是为了完整。在几乎所有情况下,请使用其他答案中的建议。
其他的答案是正确的,但有一个情况,即派生类可以访问基类的私有成员:当派生类是嵌套类的基类。这实际上可以成为模仿C#中的Java枚举的有用功能。示例代码(不是Java的枚举,只是“访问私有成员”位。)
public class Parent
{
private void PrivateMethod()
{
}
class Child : Parent
{
public void Foo()
{
PrivateMethod();
}
}
}
不起作用。 – Swathi 2010-08-20 11:01:52
@Swathi:那么我发布的代码编译没有问题,所以我不知道问题是什么。请提供更多细节。 (“它不工作”几乎从来没有一个有用的东西自己说。*明显的*后续问题是“以什么方式不起作用?”) – 2010-08-20 11:04:32
与反思:
FieldInfo f = typeof(Foo).GetField("someField", BindingFlags.Instance | BindingFlags.NonPublic);
fd.SetValue(obj, "New value");
k,我得到了...谢谢你! – Swathi 2010-08-20 10:56:30
- 1. C++如何访问派生类中的基类静态成员?
- 2. C++派生类访问基类成员
- 3. 如何在派生类中访问基类的私有数据成员?
- 4. 如何让派生类访问私有成员数据?
- 5. 访问基类成员中派生
- 6. C++访问碱的私人结构中派生类
- 7. 派生类可以访问其基类的私有成员
- 8. C#在派生类中访问受保护的成员
- 9. 在派生类中实现虚函数时访问基类私有成员
- 10. 如何访问派生类中的受保护成员?
- 11. 基类的私有数据成员如何被派生类访问?
- 12. 如何使该类内的派生类不能访问私有成员?
- 13. C++派生的基类朋友函数访问私人家长?
- 14. 具有私人访问说明符的C++派生类
- 15. 无法访问受保护的类成员在派生类中
- 16. C++从派生类访问私有成员到另一个派生类(两者具有相同的基类)
- 17. 访问继承的私有基类成员...通过派生类对象...在基类成员中创建
- 18. 访问C++父类的私有成员
- 19. C++:从派生类访问基地或全局变量的私有成员
- 20. 如何从另一个派生类访问派生类的成员?
- 21. 通过基类指针访问派生类的成员C++
- 22. 私人虚函数在派生类中
- 23. 访问派生类中的类的受保护成员
- 24. 访问私有类中的成员
- 25. 私人类构造函数不能访问私人成员
- 26. 受保护的成员不能在派生类中访问
- 27. 访问私有成员C++
- 28. 基类的私有成员是否始终在C++的派生类中继承?
- 29. 重写基类的私有成员的行为在派生类中,C++
- 30. C++:允许访问受保护的类的成员,而不是私人成员
创建公共属性来访问基类 – 2010-08-20 08:26:24