如何使自定义类的实例返回bool

本文关键字:实例 返回 bool 何使 自定义 | 更新日期: 2023-09-27 18:20:04

someList此处将返回bool值:

List<int> someList = new List<int>();
if(someList) { }

在下面的行中,编译器将警告我,说我不能将类型CustomType隐式转换为bool:

CustomType t = new CustomType();
if(customType) {}

那么,如何让类的实例返回bool呢?甚至是其他东西,比如integerfloat

如何使自定义类的实例返回bool

在CustomType类中,您可以定义一个隐式转换运算符为bool:

public static implicit operator bool(CustomType custom)
{
    return true; // Place your logic here
}

定义隐式转换运算符时应小心,以避免无法维护的代码。我建议您考虑在CustomType类中有一个方法或属性,该方法或属性返回基于某种逻辑的布尔值:

public bool IsValid { get { return true; // Place your logic here } }