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

所以,这是关于同一主题的两个问题。


我一直在寻找使我从类型中访问数据更加干净的方法。举个例子,假设我正在创建某种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;

}

它将产生类似的预期效果。

侃侃尔雅
浏览 106回答 1
1回答

三国纷争

您可以将 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
打开App,查看更多内容
随时随地看视频慕课网APP