簡體   English   中英

當我有基類時,變量的C#命名約定?

[英]C# naming conventions for variables when I have a base class?

我想要一些有關我的應用程序使用的命名約定的幫助。 這是我所擁有的:

public class BaseController : Controller
    {
        public BaseController()
        {
        }

        [Dependency]
        public IContentService _cs { get; set; }
   }


public class ContentsController : BaseController
    {

        public ContentsController(
            IContentService contentService)
        {
            _cs = contentService;
        }

有人可以讓我知道我是否應該選擇一個更好的命名約定,以及我公開的方式是否正確?

更新:

我僅在Contents控制器內使用_cs。 我應該為此使用其他訪問屬性嗎? 它是私有的還是在基本控制器中受保護的?

您選擇的成員變量命名(_cs)不適合公共屬性(盡管這實際上是優先選擇的問題)。 通常為私有成員保留使用“小寫駝峰”命名,並帶有下划線作為前綴(盡管.NET建議使用小寫駝峰小寫, 沒有前綴)。 公共屬性通常應使用UpperCamelCase表示法聲明;

public IContentsService ContentsService { get; set;

您可以在此處找到有關Microsoft命名約定建議的信息: http : //msdn.microsoft.com/zh-cn/library/ms229045.aspx

至於您的基本控制器類,除非您有調用者將實例化BaseController的情況,否則不使用更具體的類型(例如,ContentsController)將類聲明為抽象類以使用法清楚(即,“ BaseController”不是直接創建或使用),並將構造函數聲明為“受保護”;

public abstract class BaseController
{
    protected BaseController()
    {
        ...
    }
}

最終的考慮是這樣; IContentsService是否屬於BaseController? 從您的命名看來,似乎只有ContentsController會知道或使用IContentsService,因此可能將該屬性直接移到ContentsController類中。

HTH。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM