C# 有基类时变量的命名约定?

C# 有基类时变量的命名约定?,c#,C#,我想要一些关于我在应用程序中使用的命名约定的帮助。 以下是我所拥有的: public class BaseController : Controller { public BaseController() { } [Dependency] public IContentService _cs { get; set; } } public class ContentsController : Bas

我想要一些关于我在应用程序中使用的命名约定的帮助。 以下是我所拥有的:

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

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


public class ContentsController : BaseController
    {

        public ContentsController(
            IContentService contentService)
        {
            _cs = contentService;
        }
有人能告诉我是否应该选择更好的命名约定,以及我设置公共的方式是否正确吗

更新:


我只在内容控制器内使用_cs。我是否应该对此具有不同的访问属性?它应该是私有的还是在基本控制器中受保护的?

您选择的成员变量命名(\u cs)不适用于公共属性(尽管这实际上是一个偏好问题)。通常为私有成员保留使用带有下划线前缀的“小写”命名(不过,.NET建议使用不带前缀的小写)。公共财产通常应以大写字母表示

public IContentsService ContentsService { get; set;
您可以在此处找到有关Microsoft命名约定建议的信息:

至于基本控制器类,除非调用方实例化BaseController,而不是更具体的类型(e.gl ContentsController),否则将该类声明为抽象类以明确用法(即,不直接创建或使用“BaseController”),并将构造函数声明为“受保护”

public abstract class BaseController
{
    protected BaseController()
    {
        ...
    }
}
最后的考虑是,;IContentsService是否属于BaseController?从您的命名来看,似乎只有ContentsController知道或使用IContentsService,因此可能会将该属性直接移动到ContentsController类中


HTH.

您选择的成员变量命名(\u cs)不适合公共属性(尽管这实际上是一个偏好问题)。通常为私有成员保留使用带有下划线前缀的“小写”命名(不过,.NET建议使用不带前缀的小写)。公共财产通常应以大写字母表示

public IContentsService ContentsService { get; set;
您可以在此处找到有关Microsoft命名约定建议的信息:

至于基本控制器类,除非调用方实例化BaseController,而不是更具体的类型(e.gl ContentsController),否则将该类声明为抽象类以明确用法(即,不直接创建或使用“BaseController”),并将构造函数声明为“受保护”

public abstract class BaseController
{
    protected BaseController()
    {
        ...
    }
}
最后的考虑是,;IContentsService是否属于BaseController?从您的命名来看,似乎只有ContentsController知道或使用IContentsService,因此可能会将该属性直接移动到ContentsController类中


HTH.

为什么
是公共的
?只受
保护
不是很好吗?如果不受保护,那么
内部
也许可以帮助你塑造你的“命名风格”。-)是的,我认为公众是不正确的。你能解释一下,是受保护的、私有的还是内部的最好?我不熟悉内部。为什么
是公共的
?只受
保护
不是很好吗?如果不受保护,那么
内部
也许可以帮助你塑造你的“命名风格”。-)是的,我认为公众是不正确的。你能解释一下,是受保护的、私有的还是内部的最好?我对内部事务不熟悉。既然你提到了这一点,我认为我称之为公共部门是不正确的_cs仅在控制器内部使用。那么我应该将其命名为private还是protected?private如果它仅由声明它的类使用,protected如果派生类也需要访问成员。既然您提到了这一点,我想我不应该将_cs称为public_cs仅在控制器内部使用。因此,我应该将其命名为private还是protected?private(如果它仅由声明它的类使用),protected(如果派生类也需要访问成员)。