Security Considerations for Reflection

Reflection provides the ability to obtain information about types and members, and to access members. In Silverlight, you can use reflection to perform the following tasks:

  • Enumerate types and members, and examine their metadata.

  • Enumerate and examine assemblies and modules.

  • Access public members.

  • Access internal members (Friend members in Visual Basic) in the calling code's assembly. (In reflection, this is referred to as assembly-level access.)

In Silverlight, you cannot use reflection to access private types and members. If the access level of a type or member would prevent you from accessing it in statically compiled code, you cannot access it dynamically by using reflection.