CA1721: プロパティ名は get メソッドと同一にすることはできません
TypeName |
PropertyNamesShouldNotMatchGetMethods |
CheckId |
CA1721 |
カテゴリ |
Microsoft.Naming |
互換性に影響する変更点 |
あり |
原因
パブリック メンバーまたはプロテクト メンバーの名前が、"Get" から始まります。または、パブリック プロパティまたはプロテクト プロパティの名前と一致します。 たとえば、"GetColor" というメソッドを含む型と "Color" というプロパティがあると、この規則に違反します。
規則の説明
get メソッドとプロパティは、機能を明確に区別できる名前にします。
名前付け規則では、共通言語ランタイムをターゲットとするライブラリの統一的な名前の付け方が規定されています。 これにより、新しいソフトウェア ライブラリを習得するまでの時間を短縮でき、マネージ コード開発の専門家によってライブラリが開発されたという信頼を顧客に与えることができます。
違反の修正方法
"Get" で始まるメソッド名に一致しないように、名前を変更します。
警告を抑制する状況
この規則による警告は抑制しないでください。
注意
Get メソッドが IExtenderProvider インターフェイスの実装によって呼び出された場合は、この警告は除外されることがあります。
使用例
この規則に違反するメソッドとプロパティを含む例を次に示します。
Imports System
Namespace NamingLibrary
Public Class Test
Public ReadOnly Property [Date]() As DateTime
Get
Return DateTime.Today
End Get
End Property
' Violates rule: PropertyNamesShouldNotMatchGetMethods.
Public Function GetDate() As String
Return Me.Date.ToString()
End Function
End Class
End Namespace
using System;
namespace NamingLibrary
{
public class Test
{
public DateTime Date
{
get { return DateTime.Today; }
}
// Violates rule: PropertyNamesShouldNotMatchGetMethods.
public string GetDate()
{
return this.Date.ToString();
}
}
}