Work Items


by salfab
Jun 15, 2012
1:34 PM

Being evaluated

Calling a method that would throw an exception would have an unexpected behavior : instead of throwing the expected exception, an other exception was thrown, because the logic was assuming that the method was a generic one.

With this patch, calling a method that throws an exception would not swallow the exception anymore and will throw the expected one.


by gurumeditation
Mar 12, 2012
4:48 PM

Being evaluated

Bad check before attempting to call generic functions:

// Try to call a generic instance method
if (m_genInstanceMethods.ContainsKey(binder.Name)
&& m_genInstanceMethods[binder.Name].ContainsKey(args.Length))
List<MethodInfo> methods = new List<MethodInfo>();


by keithhenry
Jul 26, 2010
7:52 AM

Being evaluated

I had a look at using this to replace some of our current extensive reflection calls. In doing that I added XML documentation, refactored to the default MS style cop settings and split out some common actions into the helper class - I find doing that helps me learn how stuff works.

I also fixed a bug where calling static generic methods would fail because it looks them up against the wrong dictionary and extended the .New<T> methods to take a list of params for the constructor and enabled them to find private ones.

It's a really nice idea - I don't know whether we'll end up using it though. If we were I'd investigate some significant performance improvements that could be made through this when repeatedly doing reflection calls - for instance statically caching method infos so the lookup overhead is only on the first call and by using delegate calls instead of some invokes (see

Here's my altered code, feel free to use or reject as you wish...



View All
  • 1-3 of 3 Patches
    • Previous
    • 1
    • Next
    • Showing
    • All
    • Patches