2012-04-26 21 views
6

Farklı .CS dosyalarından gelen kaynak kodundan custom attributes dosyasını ayıklamak istiyorum. Dosya listem var.Yansıma olmadan C# kaynak kodundan Öznitelik Öznitelikleri

Senaryo, Project B dosyalarını okuyan Project A ürünümdür. Project B'da kullanılan tüm öznitelikleri ayıklamak zorundadır.

Sorum, Reflection kullanmadan bunu nasıl yapabilirim. Yansımalar meclislerle ilgileniyor ancak kaynak kodum var.

Roslyn'i kullanmak öldürür mü?

Hangi yaklaşımlar var?

MSBuild'u kullanarak başka bir derleme seçeneğim vardı, ancak büyük ölçekli projeler için ağır bağımlılıklar nedeniyle uygun olmaz. uygulama oluşturmak ve daha sonra

için iyi bir yol gibi görünmüyor, sadece hangi sınıfın hangi sınıfta ve hangi sınıflar arasındaki ilişkilerin UML diyagramında olduğunu söyleyen bir şey istiyorum.

+2

bazı örnekler verebilir https://github.com/icsharpcode/nrefactory (a Nuget paket olarak da mevcuttur):

önerilerinizi – mellamokb

+1

http://irony.codeplex.com/ veya başka bir kod ayrıştırıcısı gibi sonuçları çıkarmak için nasıl bir şey hakkında? – Dave

+0

yansımayı nasıl kullanırsınız ........ –

cevap

3

Sen NRefactory kullanabilirsiniz

veriniz? Kod düzeniniz oldukça tutarlı ise regex ile mümkün olabilir. Ama kaynak kodunuz olsa bile yansıma kullanmanın yanlış bir yanı yok ... oldukça kolay ve verimli.