当我写一个类时,我总是通过这样的公共属性公开私有字段:
private int _MyField;
public int MyField
{ get{return _MyField; }
Run Code Online (Sandbox Code Playgroud)
什么时候可以公开这样的公共字段:
public int MyField;
Run Code Online (Sandbox Code Playgroud)
我正在创建一个名为Result的结构,我的意图是这样做:
public Result(bool result, string message)
{
Result = result;
Message = message;
}
public readonly int Result;
public readonly int Message;
Run Code Online (Sandbox Code Playgroud)
什么是最佳做法?这样做好吗?
当你使用一个字段以及何时在课堂设计中使用一个属性时,任何人都能清楚地表达出来吗?
考虑:
public string Name;
Run Code Online (Sandbox Code Playgroud)
要么:
private string _Name;
public string Name
{
get { return _Name; }
set { _Name = value; }
}
Run Code Online (Sandbox Code Playgroud)
我意识到第二种方法更加合适和灵活,所以我通常会尝试使用它.
但那为什么我看到人们使用第一种方法呢?他们只是懒惰,还是有一些特定的情况,这是正确的选择?这只是一个偏好问题吗?
我的代码如下
public class LocalDB
{
public static int e_SessionID;
public static string e_EventName;
public static string e_TimeCreate;
}
Run Code Online (Sandbox Code Playgroud)
在其他课程中:
public static LocalDB newEvent ;
public void something()
{
newEvent.e_SessionID=123;
}
Run Code Online (Sandbox Code Playgroud)
但它无法传递价值.