C#对基类的隐式运算符的访问



我有以下设置:Entity是从MonoBehaviour派生的。MonoBehavior实现了对布尔的简单转换。现在,如果我在Entity中实现了对bool的隐式转换,它将覆盖MonoBehavior中的转换。如果我现在想访问旧的和新的转换,我必须执行基类的强制转换

public class Entity : MonoBehaviour 
{ 
private float CurrentHealthPoints { get; set; }
public static implicit operator bool(Entity entity) 
=> (MonoBehaviour)entity && entity.CurrentHealthPoints > 0;
}

现在我的问题是,有没有一种不同的方法不必转换到基类?我尝试使用base关键字,但无法使其发挥作用。

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

相关内容

  • 没有找到相关文章

最新更新