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. 如何在派生类中访问基类的私有数据成员?
- 3. 访问基类成员中派生
- 4. C++访问碱的私人结构中派生类
- 5. 派生类可以访问其基类的私有成员
- 6. 在派生类中实现虚函数时访问基类私有成员
- 7. 如何访问派生类中的受保护成员?
- 8. 基类的私有数据成员如何被派生类访问?
- 9. 可派生类访问私有静态成员函数
- 10. C++派生的基类朋友函数访问私人家长?
- 11. C++:从派生类访问基地或全局变量的私有成员
- 12. 如何从另一个派生类访问派生类的成员?
- 13. 访问派生类中的类的受保护成员
- 14. 访问私有类中的成员
- 15. 受保护的成员不能在派生类中访问
- 16. 基类的私有成员是否始终在C++的派生类中继承?
- 17. 访问私有成员C++
- 18. C++:允许访问受保护的类的成员,而不是私人成员
- 19. 如何在override中访问超类的私有成员?
- 20. 从基类继承私有成员到派生类C++
- 21. 如何访问WPF派生UserControl中的成员控件
- 22. 如何从界面访问派生类成员?
- 23. 访问从基类指针派生的私有成员函数派生类对象
- 24. 在派生类中为成员变量使用派生类型
- 25. 私人领域如何在派生类中工作?
- 26. 指向派生类对象的基类指针可以访问在派生类中声明的新成员吗?
- 27. 如何访问C++中派生类中的变量?
- 28. 在派生类中处理派生成员的标准实践
- 29. R中的私人成员引用类
- 30. 如何在一个子类中访问超类中的私有成员变量?
创建公共属性来访问基类 – 2010-08-20 08:26:24