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