次の方法で共有


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();
        }
    }
}

関連規則

CA1024: 適切な場所にプロパティを使用します