【发布时间】:2015-08-13 11:22:43
【问题描述】:
我即将设计一个类,该类通常不包含对Null 值的引用。它让我想起了可为空的Datetime,它有一个布尔值来指示是否存储了实际值。
DateTime? dt = new DateTime?();
if(dt.HasValue)
{
//DoStuff
}
如下设计一个类是一种好的编码习惯吗?
class Computer
{
public string Name;
public string ID;
//...
public bool IsHiveMind;
public HiveMindInfo RegInfo;
}
class HiveMindInfo
{
string SecretLocation;
int BaudRate;
int Port;
}
...并使用它...
Computer aComputer = GetComputer(...);
if(aComputer.IsHiveMind)
{
Network.DoHostileTakeOver(aComputer); //!
}
【问题讨论】:
-
谁设置了“IsHiveMind”?您应该先将其修改为
public bool IsHiveMind{get; private set;}。
标签: c#