internal class Your(char s) {
public char ch = s;
public static bool operator true(Your o) => o.ch == 'A' || o.ch == 'B';
public static bool operator false(Your o) => o.ch != 'A' || o.ch != 'B';
public static Your operator|(Your a, Your b) => a ? a : b;
static void Main() {
Your A = new('A');
Your B = new('B');
Your Y = new('Y');
Console.WriteLine((A || B).ch);
Console.WriteLine((Y || B).ch);
Console.ReadKey();
}
}
class YourClass1
{
public char _symb;
public YourClass1(char s)
{
_symb = s;
}
public static bool operator true(YourClass1 obj)
{
switch(obj._symb)
{
case 'A':
case 'E':
case 'Y':
return true;
default:
return false;
}
}
public static bool operator false(YourClass1 obj)
{
if (obj)
return obj._symb == 'Y';
return true;
}
public static YourClass1 operator |(YourClass1 a, YourClass1 b)
{
if (a)
return b;
return a;
}
static void Main()
{
YourClass1 A = new YourClass1('A');
YourClass1 B = new YourClass1('B');
YourClass1 Y = new YourClass1('Y');
Console.WriteLine((A||B)._symb);
Console.WriteLine((A||Y)._symb);
}