CCI vs. Mono.Cecil - преимущества и недостатки - PullRequest
20 голосов
/ 18 июля 2011

Я видел статьи, обсуждающие эти две подобные структуры, но большинству из них два года или около того. Я полагаю, что оба проекта сейчас более зрелые, чем два года назад, и ситуация более сложная.

Таким образом, учитывая текущее состояние каждой из библиотек, я надеялся, что кто-нибудь сможет дать подробное объяснение преимуществ и недостатков каждой из них, и что должно быть предпочтительным в настоящее время.

Ответы [ 2 ]

12 голосов
/ 17 сентября 2011

CCI

Плюсы:

  • Может дать вам более точный контроль над вашей работой
  • Последняя версия немного болеезрелый

Минусы:

  • Объектная модель более сложна (и сбивает с толку, если вы новичок в ИЛ / отражениях низкого уровня, как я)

Сесил (имеется в виду более новая версия git-hub )

Плюсы:

  • Имеет более простой объектмодель будет легче начать с

Минусы:

  • Последняя версия менее развита, поэтому доступно меньше примеров кода
  • APIнаходится в стадии разработки
  • У вас не будет такого большого контроля над кэшированием имен (для перфектов)

Какой бы я выбрал

Подводя итог плюсам / минусам, похоже, я бы выбрал CCI вместо Сесила.Но я бы не стал.

Сесил очень перспективен, у него простой API-интерфейс, у него активное авторство (ну, это было 7,5 месяцев назад, и, похоже, до сих пор )и было безболезненно отлаживать любые проблемы, с которыми я сталкивался.

CCI было довольно больно кодировать - интерфейс на основе интерфейса зашёл слишком далеко .Код трудно отлаживать.На первый взгляд некоторые вещи кажутся завершенными, но это не так, или они не решают больше, чем один случай использования. NameTable материал заставил мою голову кружиться (больше, чем это было уже).

1 голос
/ 20 июля 2011

Сесил - потому что для меня поддержка сообщества лучше, чем в CCI.Я всегда находил ответы в списках рассылки / на сайтах быстрее для Сесила.

...