[Mono-bugs] [Bug 442031] Type information is not lazily initialized
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Thu Nov 6 05:20:25 EST 2008
https://bugzilla.novell.com/show_bug.cgi?id=442031
User gert.driesen at pandora.be added comment
https://bugzilla.novell.com/show_bug.cgi?id=442031#c3
Gert Driesen <gert.driesen at pandora.be> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|WONTFIX |
--- Comment #3 from Gert Driesen <gert.driesen at pandora.be> 2008-11-06 03:20:25 MST ---
The use case I had in mind was a plugin assembly containing some plugins that
use commercial assemblies and some plugins that use non-commercial assemblies.
Of course, the non-commercial assemblies can be shipped together with the
plugin assembly, but the commercial ones can't.
Now, what happens if you use reflection to discover the plugin types in that
assembly:
On MS this works just fine. You'll only get an exception if you attempt to
instantiate one the plugin types that references a non-available assembly. As
long as you're not instantiating these everything works fine.
On Mono, you'll get a ReflectionTypeLoadException for even attempting to the
types of the plugin assembly.
So the problem is that Mono immediately fails when accessing a type that
contains fields or methods that reference an assembly that is not available.
If you could postpone instantiating the types of all fields / methods of a
given type until they are actually used, then that should clearly improve
performance (and memory usage) quite a lot.
I understand that this is not a simple task, but wouldn't it be better to keep
this on that radar anyway?
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list