CA1715: Tanımlayıcıların önekleri doğru olmalıdır
TypeName |
IdentifiersShouldHaveCorrectPrefix |
CheckId |
CA1715 |
Kategori |
Microsoft.Naming |
Değişiklik kesiliyor |
-Arabirimlerde harekete zaman kesiliyor. Bölünemez - genel tür parametreleri harekete geçirilen zaman. |
Neden
Dışarıdan görünür bir arabirimin adını bir büyük 'ı ile' başlatılmaz.
-veya-
Genel tür parametresi dışarıdan görünen türü veya yöntem adı büyük = başlamaz '.
Kural Tanımı
Kural gereği, belirli programlama öğelerinin adları ile belirli bir önek başlatın.
Arabirim adları büyük 'I' arkasından başka bir büyük harfi gelen ile başlamalıdır.Bu kural ihlalleri 'MyInterface' ve 'IsolatedInterface' gibi arabirim adlarının bildirir.
Genel tür parametre adları başlatmak büyük = ' ve isteğe bağlı olarak başka bir büyük harf takip edilebilir.Bu kural ihlalleri 'v' ve 'Type' gibi genel tür parametre adları için raporlar.
Adlandırma kuralları, hedefleyen ortak dil çalışma zamanı kitaplıkları için ortak bir görünüm sağlar.Bu yeni yazılım kitaplıkları için gereklidir ve kitaplığı geliştirme yönetilen kodda uzmanlığa sahip olan kişi tarafından geliştirilmiş olan müşteri güvenini artırır öğrenme eğrisi azaltır.
İhlalleri düzeltmek nasıl
Tanımlayıcı öneki doğru biçimde yeniden adlandırın.
Uyarıları ne zaman
Uyarı Bu kuraldan bastırmak değil.
Örnek
Aşağıdaki örnekte, yanlış adlandırılmış bir arabirim gösterilmektedir.
Imports System
Namespace Samples
Public Interface Book ' Violates this rule
ReadOnly Property Title() As String
Sub Read()
End Interface
End Namespace
using System;
namespace Samples
{
public interface Book // Violates this rule
{
string Title
{
get;
}
void Read();
}
}
using namespace System;
namespace Samples
{
public interface class Book // Violates this rule
{
property String^ Title
{
String^ get();
}
void Read();
};
}
Aşağıdaki örnek, önceki ihlali arabirimi 'I' ile önek ekleyerek giderir.
Imports System
Namespace Samples
Public Interface IBook ' Fixes the violation by prefixing the interface with 'I'
ReadOnly Property Title() As String
Sub Read()
End Interface
End Namespace
using System;
namespace Samples
{
public interface IBook // Fixes the violation by prefixing the interface with 'I'
{
string Title
{
get;
}
void Read();
}
}
using namespace System;
namespace Samples
{
public interface class IBook // Fixes the violation by prefixing the interface with 'I'
{
property String^ Title
{
String^ get();
}
void Read();
};
}
Aşağıdaki örnek, yanlış adlandırılmış genel tür parametresi gösterir.
Imports System
Namespace Samples
Public Class Collection(Of Item) ' Violates this rule
End Class
End Namespace
using System;
namespace Samples
{
public class Collection<Item> // Violates this rule
{
}
}
using namespace System;
namespace Samples
{
generic <typename Item> // Violates this rule
public ref class Collection
{
};
}
Aşağıdaki örnek önceki ihlali genel bir tür parametresiyle = önek ekleyerek giderir '.
Imports System
Namespace Samples
Public Class Collection(Of TItem) ' Fixes the violation by prefixing the generic type parameter with 'T'
End Class
End Namespace
using System;
namespace Samples
{
public class Collection<TItem> // Fixes the violation by prefixing the generic type parameter with 'T'
{
}
}
using namespace System;
namespace Samples
{
generic <typename TItem> // Fixes the violation by prefixing the generic type parameter with 'T'
public ref class Collection
{
};
}