Özellik düzenini basitleştirme (IDE0170)

Özellik Değer
Kural Kimliği IDE0170
Başlık Özellik düzenini basitleştirme
Kategori Stil
Alt Kategori Dil kuralları (desen eşleştirme tercihleri)
Geçerli diller C#
Seçenekler csharp_style_prefer_extended_property_pattern

Genel Bakış

Bu stil kuralı, bir özellik deseninde iç içe desen kullanımını işaretler. İç içe yerleştirilmiş desen, iç içe üyelere başvurmak için özellik alt modellerinin kullanıldığı genişletilmiş bir özellik deseni kullanmak üzere basitleştirilebilir. Genişletilmiş özellik desenleri, kod okunabilirliğini geliştirir.

Seçenekler

Seçenekler, kuralın zorlamasını istediğiniz davranışı belirtir. Seçenekleri yapılandırma hakkında bilgi için bkz. Seçenek biçimi.

csharp_style_prefer_extended_property_pattern

Özellik Değer Açıklama
Seçenek adı csharp_style_prefer_extended_property_pattern
Seçenek değerleri true Genişletilmiş özellik desenini tercih edin.
false Kuralı devre dışı bırakır.
Varsayılan seçenek değeri true

Örnek

public record Point(int X, int Y);
public record Segment(Point Start, Point End);

// Violates IDE0170.
static bool IsEndOnXAxis(Segment segment) =>
    segment is { Start: { Y: 0 } } or { End: { Y: 0 } };

// Fixed code.
static bool IsEndOnXAxis(Segment segment) =>
    segment is { Start.Y: 0 } or { End.Y: 0 };

Uyarıyı gizleme

Yalnızca tek bir ihlali engellemek istiyorsanız, kuralı devre dışı bırakmak ve sonra yeniden etkinleştirmek için kaynak dosyanıza önişlemci yönergeleri ekleyin.

#pragma warning disable IDE0170
// The code that's violating the rule is on this line.
#pragma warning restore IDE0170

Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, yapılandırma dosyasındaki önem derecesini none olarak ayarlayın.

[*.{cs,vb}]
dotnet_diagnostic.IDE0170.severity = none

Tüm kod stili kurallarını devre dışı bırakmak için, kategorinin önem derecesini Stylenone yapılandırma dosyasında olarak ayarlayın.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Daha fazla bilgi için bkz. Kod analizi uyarılarını gizleme.

Ayrıca bkz.