例如,在ASP.NET中,我們可以反思AppDomain中的程序集,或者使用我們可以獲取有關類的元數據(道具,方法等)的類型。在Silverlight中用於提取類的元數據,提取依賴項屬性等的技術是什麼?Silverlight reflection
6
A
回答
5
反射存在於Silverlight中,並在完整的.NET Framework中提供了一部分API。
一個顯着的區別是你不能反映到Silverlight中的私有成員(或者你可以在你自己的程序集中,但邊界應該變得很快)。這是一個安全功能,可以確保您不會混淆框架本身的內部。
除此之外(固然很大)的限制,Reflection應該基本相同。
4
除了奧斯汀所說的之外,Silverlight中的Reflection規則是您只能通過反射訪問任何您可以通過正常代碼訪問的內容。所以這不僅僅是私人成員。您只能在類本身或任何繼承它的類中反射受保護的成員。
有許多缺少API的作品,但在一般的大多數事情應該是可能的,即使他們需要多一點的工作比在完整的.NET
0
安全注意事項的反思 反射提供了獲取信息的能力關於類型和成員,以及訪問成員。在Silverlight中,您可以使用反射來執行以下任務:
枚舉類型和成員,並檢查其元數據。
枚舉和檢查組件和模塊。
訪問公共成員。
在調用代碼的程序集中訪問內部成員(Visual Basic中的朋友成員)。 (在反思中,這被稱爲彙編級訪問。)
在Silverlight中,您不能使用反射來訪問私有類型和成員。如果類型或成員的訪問級別會阻止您在靜態編譯的代碼中訪問它,則不能通過使用反射來動態訪問它。
相關問題
- 1. Java Interface Reflection Alternatives
- 2. XAML For Reflection Effect
- 3. AS3(Pixelfumes Reflection Class)
- 4. WinRT Reflection(C++/CX)
- 5. C#Reflection - GetMethod
- 6. Reflection和WCF
- 7. Java - BigDecimal和Reflection
- 8. iPhone + JSON + Reflection
- 9. Java Reflection Imports
- 10. C#Reflection&Generics
- 11. NoSuchMethodException while using JAVA Reflection
- 12. 關於ComponentModel和Reflection
- 13. 什麼是「monadic reflection」?
- 14. .NET Reflection創建類屬性
- 15. Swift Reflection映射屬性
- 16. 使用Reflection創建靜態對象
- 17. Rails - 「Invalid source reflection」for:has_many =>:通過
- 18. 從Reflection調用靜態委託?
- 19. HttpContext.Cache vs Reflection:哪個更有效?
- 20. 如何擴展最終的類?(Reflection,Javassist)
- 21. C#:Reflection:子類的訪問屬性
- 22. Kotlin Reflection運算符得到實現
- 23. Howto someFunction(List <acceptDifferentTypesHere> list){/ * reflection stuff * /}
- 24. Java代碼生成(Metaprogramming,Reflection,wtv)
- 25. java.lang.NoSuchFieldError:在Tomcat部署期間的REFLECTION
- 26. 使用Reflection和LINQ查詢ApplicationDataService
- 27. PHP:The Reflection API - 對PHP很有用處
- 28. .NET/C# - Reflection - 曾經使用過的System.IO.File
- 29. java reflection創建字段/值hashmap
- 30. 使用Reflection獲取父類的名字
您可以反思私人成員,但不能修改或調用它們。我曾嘗試爲FieldInfo調用GetValue,但無法調用SetValue,它會引發異常。 – 2011-03-17 03:22:23