Если это для чего-то, что назовут много в экземпляре приложения, это намного быстрее, чтобы скомпилировать и кэшировать динамический код вместо того, чтобы использовать активатор или ConstructorInfo.Invoke()
. Две легких опции для динамической компиляции компилируются Выражения Linq или некоторые простые IL
коды операций и DynamicMethod
. Так или иначе различие огромно, когда Вы начинаете входить в жесткие циклы или множественные вызовы.
Вот вам чистый пример XAML:
http://blogs.msdn.com/text/archive/2006/06/20/592777.aspx
Ключ часть:
<CollectionViewSource Source="{Binding Source={x:Static Fonts.SystemFontFamilies}}" x:Key="familyCollection"/>