Şu anda, ToString() özel olarak adlandırılmış olsun veya olmasın, belirli bir enumun bir dizeye dönüştürüldüğü her yerde bir çözüm bulmaya çalışıyorum. (Bu gizleme geliştirmek için enum açıklamaları kullanarak bir dönüşümle değiştirilir.)Her yeri bulmak bir enum dizgeye dönüştürülür
Örnek: kod bulmak istiyoruz string str = "Value: " + SomeEnum.someValue;
bir sarmalayıcı sınıf örtülü içeren enum kendisi yerine denedik gibi enum türüne dönüşümler ve sarmalayıcı sınıfındaki ToString() öğesini geçersiz kılar, ancak ToString() geçersiz kılmanın kullanımlarını aramayı denediğimde, bana ToString() öğesinin herhangi bir yerde (ve yalnızca) nerede çağrıldığı çözümdeki yerlerin listesini verir. açıkça denir). Arama, Visual Studio'da ReSharper ile yapıldı.
Bu enos-to-string dönüşümlerini bulmanın başka bir yolu var mı? Tüm çözümü el ile yapmak çok eğlenceli gibi gelmiyor.
Roslyn ekibi, ben bu yüzden bu etiketlediniz ben bunu görürsünüz biliyorum. :-) Mevcut Roslyn bitleri, bu tür bir dönüşüm için AST'yi aramaya izin verecek mi? –
Sadece zaten ne yaptığını bir uzantısı, sizin sarıcı sınıfında ise ayrıca string' 'bir' implicit' dönüşüm oluşturmak ve '[Eski]' nitelik, derleyici uyarı/hata her yerde sizi bilgilendirecektir uygulamaların kullanım ile işaretleyin : http://stackoverflow.com/questions/10585594/how-to-get-find-usages-working-with-implicit-operator-methods Bu bir cevap değil, bir çimdik içinde size yardımcı olabilir. –