public A(double d) { val = d; }
public static implicit operator B(A d)
return new B((int)d.val);
public static implicit operator A(B d)
public B(int d) { val = d; }
public static implicit operator B(A d)
return new B((int)d.val);
public static implicit operator A(B d)
public static void Main()
Console.WriteLine(b.val);