所以,这是关于同一主题的两个问题。我一直在寻找使我从类型中访问数据更加干净的方法。举个例子,假设我正在创建某种Health类,并为其编写一些字段。public class Character { public Health Health;}public class Health { public short Current; public short Maximum;}Health.Current现在这可行了,但我正在寻找一种当我想获得当前健康值时可以避免使用的方法。像这样的东西:public class Health { private short Current; public short Maximum; public short this { get { return Current; } set { Current= value; } }}我原以为这会起作用,但不幸的是它没有。有什么办法可以做到这一点吗?如果没有,那么有没有一种方法可以实现这一点:public class Character { public short Health; public short Health.Maximum;}它将产生类似的预期效果。
1 回答
三国纷争
TA贡献1804条经验 获得超7个赞
您可以将 health 类中的隐式运算符添加到返回当前值的 Short 中:
public class Health
{
public static implicit operator short(Health health)
{
return health.Current;
}
public short Current;
public short Maximum;
}
像这样使用它:
Health h = new Health { Current = 20, Maximum = 100};
short current = h;
Console.WriteLine(current); // 20
- 1 回答
- 0 关注
- 96 浏览
添加回答
举报
0/150
提交
取消