StyleCop Analizörlerini, bir sınıf içindeki "benim" üye sırasının (SA1201 tanımlamasından farklı olan) kontrol edilebilmesi için yapılandırılabilir mi? Yani, mülkümün yapıcısı üzerinde olmasını istiyorum, oysa SA1201, bunların, yüklenicinin altına yerleştirilmesini gerektiriyor. Sipariş kuralını devre dışı bırakmak istemiyorum çünkü siparişin kontrol edilmesini sağlamak istiyorum.Kullanıcı tanımlı üye sırasını zorunlu kılmak için StyleCop Analizörlerinde sipariş kuralı yapılandırın
1
A
cevap
0
Aşağıdakiler basit bir fikir ortaya koymaktadır, ancak bir tanesi StyleCop-Analizörlerinin ne yaptığına bakmayı düşünmelidir.
Analyzer with Code Fix (NuGet + VSIX)
proje şablonunu kullanarak, özellikler bir yöntemden sonra yerleştirildiğinde algılayabilecek bir analizörün ilk taslağını hazırladım. Bunu başarmak için DiagnosticAnalyzer.cs dosyasında (proje yaratma oluşturulur) statik AnalyzeSymbol
yönteminin uygulanmasıdır: Bu etiketlenmiş olduğundan beri
private static void AnalyzeSymbol(SymbolAnalysisContext context)
{
var members = namedTypeSymbol.GetMembers();
var methods = from m in members
where (m.Kind == SymbolKind.Method &&
!m.IsImplicitlyDeclared && m.CanBeReferencedByName)
select m;
var properties = from m in members
where m.Kind == SymbolKind.Property
select m;
foreach (var p in properties)
{
foreach (var m in methods)
{
if (p.Locations.First().SourceSpan.Start > m.Locations.First().SourceSpan.Start)
{
// For all such symbols, produce a diagnostic.
var diagnostic = Diagnostic.Create(Rule, m.Locations[0], m.Name);
context.ReportDiagnostic(diagnostic);
}
}
}
}
İlgili konular
- 1. Tanımlı bir kullanıcı için tüm grupları belirle
- 2. StyleCop eşdeğeri?
- 3. StyleCop Diğer diller için
- 4. Benzersiz Adı Zorlamak için Doğrulama Kuralı
- 5. Kullanıcı tanımlı bir tür
- 6. Kullanıcı tanımlı dönüşümler oluşturma
- 7. kullanıcı tanımlı fonksiyonlar
- 8. "NameError: name tanımlı değil" kullanıcı girişi için
- 9. Objective-C'de Kategori tanımlı bir yöntemi geçersiz kılmak güvenli midir?
- 10. Office 2013 eklentisini kullanıcı ayarlarına göre yapılandırın
- 11. StyleCop biçimlendirme
- 12. Kullanıcı tanımlı fonksiyonlar LessCSS ile?
- 13. ANTLR4 Kullanıcı tanımlı türler doğrulanıyor
- 14. Kullanıcı tanımlı tanımlama bilgilerini Jmeter
- 15. Python Kullanıcı Tanımlı Veri Türü
- 16. Lispit'te SQLITE kullanıcı tanımlı işlevler
- 17. Doğrulama Kuralı - Kullanıcı girişi boş bırakılamaz - Python
- 18. Alt tanımlı dizinin kullanıcı tanımlı diziyle kesişme dönüşü mü?
- 19. Hudson ci üzerinde derleme sırasını yeniden sipariş edebilir miyim?
- 20. StyleCop yapılandırması için Yeniden Paylaştırıcı Olun
- 21. StyleCop ayarlar dosyası kaydedilemedi
- 22. StyleCop MS Sihir mi inşa ediyorsunuz? StyleCop hedefini kim arıyor?
- 23. Google'ın Cloud SQL'de kullanıcı tanımlı işlevlerine alternatif
- 24. Kullanıcı tanımlı bir C++ sınıfını POD dizileriyle nasıl msgpack?
- 25. Kullanıcı tanımlı türden bir CArray'i nasıl sıralarım?
- 26. Cloud Logging'de kullanıcı tanımlı metriklerden izleme yok
- 27. profil oluşturma sadece kullanıcı tanımlı işlevler
- 28. Hata ayıklama PostgreSQL Kullanıcı Tanımlı İşlevler
- 29. System.Data.SQLite'de kullanıcı tanımlı işlevler oluştur/kullan?
- 30. Kullanıcı tanımlı değişkenten Tost iletisi görüntüleniyor
[etiket: roslyn] Sana sokmaya bahsediyoruz hayal StyleCop Roslyn kullanarak uygulanması? Bu analizörün kaynak koduna baktığımda, başka bir konfigürasyonun desteklendiğini sanmıyorum çünkü her şey kodlanmış: https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/StyleCop.Analyzers/StyleCop.Analyzers/OrderingRules/SA1201ElementsMustAppearInTheCorrectOrder .cs –
@JeroenVannevel Ona baktım ve buna katından daha iyi bir yaklaşım olduğunu kabul ediyorum. – David