我可以依靠這樣一個事實,名爲Foo的屬性的基礎字段被稱爲「k__BackingField」?是在規範中實現自動屬性?
1
A
回答
4
不,總之。
因爲這個原因,當使用基於場的序列化器時,自動屬性會很痛苦,比如BinaryFormatter
(我敢肯定,在這裏我可能已經提到過了; -p)。
請參閱:Obfuscation, serialization and automatically implemented properties關於此(和解決方案)的一些想法。
0
當然不是。這將是一個專用實施細節。
爲什麼要在地球上想要知道?
0
我不這麼認爲。如果您需要後臺字段,請使用「常規」屬性。
2
該規範沒有指定後臺字段的名稱(有很好的理由 - 你不應該依賴它)。
您應該進行調查以瞭解Mono編譯器是否執行相同的操作。
完整性檢查該字段已應用CompilerGeneratedAttribute
將是一個好主意。
需要注意的是顯式接口實現會出來(目前)爲:
<Full.Namespace.To.Interface.IBlah.Foo>k__BackingField
所以代碼試圖序列化類的特定方面以這種方式可以誤導。
如果你想成爲真正的代碼和大括號,你可以使用類似於Cecil的庫來檢查屬性的get函數並確定使用的字段。
相關問題
- 1. 將常規屬性轉換爲自動實現的屬性
- 2. 什麼是自動實現的屬性
- 3. 屬性和自動實現
- 4. 自動實現的屬性
- 5. C#中自動實現的屬性
- 6. 自動實現的屬性是否支持屬性?
- 7. 在C#中使用自動實現的屬性是否正確?
- 8. CA2213代碼分析規則和自動實現的屬性
- 9. 規範化屬性
- 10. 使用自動實現的屬性或由我們自己實現屬性
- 11. 是JAXB的規範還是實現?
- 12. 用於自動實現的屬性
- 13. 自動實現的屬性錯誤
- 14. 如何找出屬性是否是反射的自動實現的屬性?
- 15. Markdown的規範實現是什麼?
- 16. XML屬性值規範化
- 17. Java屬性文件規範
- 18. 使用AttributeExtension自動更新非規範化屬性
- 19. 正確實施一次性模式 - 自動實現屬性
- 20. 實現SQL 3NF規範化
- 21. 實現規範模式
- 22. 如何在C#中實現自動實現的屬性來設置值
- 23. 在JavaScript中實現自我記憶功能是否存在規範模式?
- 24. 在VB.NET中實現屬性
- 25. 自動實現的屬性是否有隱含的集合?
- 26. 可以自動實現的屬性是否有私有集合?
- 27. nopCommerce中的全局規範屬性2.2
- 28. java類中的規範和實現?
- 29. 我想實現實例規範化
- 30. 實體框架規範模式實現
Re Hessian;爲什麼它關心字段名稱?屬性名稱會更合適,不是?如果沒有,也許發明一個屬性來命名該成員,即[Hessian.Storage(「foo」)] public int Foo {get; private set;} – 2009-07-23 13:23:47
我寧願只實現名字的封鎖( k__backingField - - > Foo) - 在客戶端更容易。 –
ripper234
2009-07-23 13:30:42
[自動屬性問題]的可能重複(http://stackoverflow.com/questions/371398/problems-with-auto-properties) – nawfal 2013-06-03 18:13:46