[英]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.