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