共用方式為


CA1721:屬性名稱不能和其中有 get 的方法名稱相符

型別名稱

PropertyNamesShouldNotMatchGetMethods

CheckId

CA1721

分類

Microsoft.Naming

中斷變更

中斷

原因

公用或保護之成員的名稱是以 'Get' 開頭,否則需符合公用或保護之屬性的名稱。 例如,包含名為 'GetColor' 的方法及名為 'Color' 的屬性的型別即違反這項規則。

規則描述

Get 方法和屬性應該具有能清楚區分函式的名稱。

命名慣例會為針對 Common Language Runtime 的程式庫提供通用的外觀。 如此可縮短學習新軟體程式庫的時間,並讓客戶深信程式庫是由學有專長的人員以不斷開發的 Managed 程式碼開發而成。

如何修正違規

變更名稱,讓它不是以 'Get' 為字首的方法名稱。

隱藏警告的時機

請勿隱藏此規則的警告。

注意事項注意事項

如果是因為實作 IExtenderProvider 介面而導致 Get 方法,則可以排除這個警告。

範例

下列範例會包含違反這項規則的方法和屬性。

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:建議在適當時使用屬性