The first method, as a rule, should not be faster, because by default it uses the second method by default. The TypeDescriptor architecture adds functionality on top of the normal reflection (which is represented by instance.GetType().GetProperty(...) . For more information on the TypeDescriptor architecture, see http://msdn.microsoft.com/en-us/library/ms171819.aspx .
In general, using reflection directly is faster (i.e., your second line above), but there might be a reason to use TypeDescriptor if you are using some kind of custom type provider that can return other results than standard reflection.
Decaf
source share