为了账号安全,请及时绑定邮箱和手机立即绑定

从类型访问数据的更简洁的方法

从类型访问数据的更简洁的方法

C#
侃侃尔雅 2023-06-25 14:16:31
所以,这是关于同一主题的两个问题。我一直在寻找使我从类型中访问数据更加干净的方法。举个例子,假设我正在创建某种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


查看完整回答
反对 回复 2023-06-25
  • 1 回答
  • 0 关注
  • 96 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信