繁体   English   中英

C# 访问基础 class 的隐式运算符

[英]C# Access to implicit operators of base class

我有以下设置: Entity来自MonoBehaviour MonoBehaviour 实现了到 bool 的隐式转换。 现在,如果我在 Entity 中实现到 bool 的隐式转换,它会覆盖 MonoBehaviour 中的转换。 如果我现在想同时访问旧转换和新转换,我必须转换回基础 class

public class Entity : MonoBehaviour 
{ 
    private float CurrentHealthPoints { get; set; }

    public static implicit operator bool(Entity entity) 
        => (MonoBehaviour)entity && entity.CurrentHealthPoints > 0;
}

现在我的问题是,有没有一种不同的方法而不必转换到基础 class? 我尝试使用base关键字,但无法正常工作。

据我所知,除非使用的类型使用逆变,否则显式转换是不可避免的。 您也可以使用该链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM