class My { public int number; public static implicit operator bool(My obj) { if (obj.number > 0) { return true; } else { return false; } } } static void Main(string[] args) { My a = new My(); a.number = 5; if (a) { Console.WriteLine("1 true"); } else { Console.WriteLine("1 false"); } a.number = -5; if (a) { Console.WriteLine("2 true"); } else { Console.WriteLine("2 false"); } }
1 true
2 false
2 false
public static explicit operator bool(My obj){ }
if (Convert.ToBoolean(a)){ }