我看過文章討論這兩個類似的框架,但大多數都是兩歲左右。我認爲這兩個項目現在比兩年前更成熟了,情況更加複雜。CCI與Mono.Cecil - 優點和缺點
因此,考慮到每個庫的當前狀態,我希望有人能夠提供每個庫的優缺點的詳細解釋,並且目前應該首選哪個庫。
我看過文章討論這兩個類似的框架,但大多數都是兩歲左右。我認爲這兩個項目現在比兩年前更成熟了,情況更加複雜。CCI與Mono.Cecil - 優點和缺點
因此,考慮到每個庫的當前狀態,我希望有人能夠提供每個庫的優缺點的詳細解釋,並且目前應該首選哪個庫。
CCI
優點:
缺點:
塞西爾(指the newer git-hub version)
優點
缺點開始:
其中我會選擇
couting的了優點/缺點,它肯定看起來像我會選擇CCI在塞西爾。但我不會。我們遇到的任何問題都可以輕鬆地進行調試。無論是在任何問題上進行調試都毫不費力。
CCI編碼相當痛苦 - 基於接口的設計被採納得太。代碼很難通過調試。有些東西乍一看似乎很完整,但不是或者不能處理一個以上的用例。 The NameTable
stuff讓我感到頭暈(比現在更多)。
我不記得了,但我也認爲CCI對高級代碼生成有更好的支持。此外,塞西爾的支持是好的/快速的:) –
你能提供任何直接的證據支持這些評論嗎?另外,我對錶現很好奇。我的懷疑是塞西爾真的做了更多的工作。它似乎更多地用於開源項目。有什麼想法嗎? – Noldorin
@Noldorin:這是我從七個半月前嘗試完成的軼事經歷。我在CCI獲得了半工作解決方案,並將其交給Cecil。是的,從那時起,塞西爾可能會做更多的工作。我記得我最糟糕的問題是:檢測*所有*依賴類型,確定基類型和執行代碼生成。我的項目是反映一個類型圖和code-gen類型的清理版本,使用列表而不是數組,可爲空類型等.CCI提供了自動(但不完整)的訪問者模式遍歷。我不認爲塞西爾做過。 –
塞西爾 - 因爲對我來說,社區對它的支持比CCI更好。我一直在找到更快捷的郵件列表/網站的答案。
不確定爲什麼有2個關閉請求。這個問題完全有效。 – leppie
爲何選票爲「不具建設性」?這個問題確實要求項目的事實和現狀,而不是「你更喜歡哪一個」。請不要是SO的刪除者;) – viraptor
我也很好奇這個問題。一個很好的詳細答案比較兩個將不勝感激,所以我要在這裏設置賞金。 :-) – Noldorin