在我读的一本书中,他们使用大写字母表示公共方法和属性。我知道还有其他一些约定,例如您将“ _”放在私有变量前面。对我而言,我不喜欢这种方式,并且更喜欢这种方式,但是只是想知道方法中的内容。

所以

public void MyMethod()
{
}

public string MyProperty {get; set;

}


和私人的

private void myMethod()
{
}


但是该方法怎么样?

喜欢

public void MyMethod()
{
   string MyVariable = null;
   // or
   string myVairable = null;
}


如果您有某种全局变量,例如

public class Test
{
   private string bob;

   public Test()
   {
      bob = null;
   }
}


所以应该小写(因为它是私有的)?另外,最好将其设置为财产,而不是将其设置为私有,而不是公共财产。

最佳答案

如果遵循官方的Microsoft代码样式指南(由StyleCop和FxCop强制执行),那么这里是您的代码示例

public void MyMethod()
{
}

public string MyProperty { get; set; }

private void MyMethod()
{
}

public void MyMethod()
{
   string myVariable = null;
}

public class Test
{
   private string bob;

   public Test()
   {
      this.bob = null;
   }
}


规范中的一些要点:所有字段均应为private且小写(除非它们是常数)。无论使用哪种方法,所有方法均应大写。如果要公开一个字段(即将其设置为publicprotected),请使用属性(在受保护或公共的情况下应大写)。如果您具有属性的自动get ters和set ters(即仅get;set;),它们可以在一行上,否则可以在单独的行上(如果有更多代码)。请始终以小写字母a-z开头的字段命名,而不是下划线。大括号应换行。始终使用this.引用非静态成员(即属性,方法,字段),以将其与变量区分开并避免歧义。

列表很大,但是这些与您的示例最相关。看code.msdn.microsoft.com/sourceanalysis

问题中所谓的“全球”实际上就是“领域”。这些绝对不应该公开(如上所述),因为您实际上是在公开实现,而实际上,您的行为就是您应该在接口上公开的类型。属性允许您指定接口,即使现在已将其实现为自动属性,也可以稍后更改get ters和set ters,而无需更改接口。

09-05 19:24