Silverlight中的反射限制

时间:2010-02-17 19:40:40

标签: silverlight reflection

哪里描述了众所周知的Silverlight类型的反射限制?

例如:如果我尝试使用PropertyInfo.SetValue方法设置protected或private属性值,我会收到异常MethodAccessException

为什么会有这些限制?

1 个答案:

答案 0 :(得分:11)

出于安全考虑,Silverlight中的反射仅限于编译时可用的内容。大多数情况下,这意味着您只能访问公共成员。

以下是MS对此的评论:http://msdn.microsoft.com/en-us/library/stfy7tfc(VS.95).aspx

原因是Silverlight内部主要是私有的或主要的Silverlight程序集内部。如果我可以在没有任何参数检查的情况下调用这些私有函数,我可能会编写一个Silverlight应用程序来读取您的私有文件或类似内容。