2013-10-21 69 views
4

我們可以使用反射來獲取或設置C#類中任何private成員的值。 (使用BindingFlags.NonPublic等)我們的C#類成員是多少(私人)?

如果是這樣的話,private會員怎麼會真的是私人的?我們怎樣才能確定,故意存儲在private字段中的內容在真正意義上是保密的?

+4

你真的無法避免這一點 - 反射是一個後門進入你的類的實現。 – StuartLC

+3

實際上,你不能;製作一個實現'private'' internal'等是關於在設計中指定意圖以及如何使用組件。 –

+2

這個問題被問了很多次。這一個有很好的答案:http://stackoverflow.com/q/2084353/694852。而這一個havily upvoted:http://stackoverflow.com/q/16942114/694852。 – Artemix

回答