Альтернативы отражению. Испустите для компактной платформы

Можно использовать, Берут дополнительный метод

var array = new byte[] {1, 2, 3, 4};
var firstTwoItems = array.Take(2);
8
задан Wim Coenen 8 February 2011 в 18:54
поделиться

2 ответа

Что вам нужно, так это Cecil ( http://mono-project.com/Cecil ), библиотека проекта Mono для создания и проверки программ и библиотек в формате CIL. Он активно поддерживается, делает гораздо больше, чем Reflection.Emit, и используется во многих проектах, включая те, которые нацелены на .NET CF.

5
ответ дан 5 December 2019 в 22:19
поделиться

This isn't exactly an answer to your question, but since Reflection.Emit isn't supported in CF, an alternative approach you could take to serialization/deserialization would be to compile your classes into a regular Windows application, and make use of Reflection.Emit to programatically generate serialize and de-serialize methods for each class, which could then be incorporated back into the class in the CF version. Basically, you'd use Reflection.Emit in the full framework for code generation.

This would be more work (and a constant source of more work, of course), but it would perform better than a dynamic, Reflection.Emit-based approach (which doesn't work in CF anyway). Most CF classes will work unchanged in the full framework, although not necessarily, of course.

1
ответ дан 5 December 2019 в 22:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: