Предполагая, что отправитель типизирован для объекта (другими словами, нет пользовательских операторов преобразования), вы можете просто использовать отправителя, как b3 в коде C #.Точно такой же код точный будет выглядеть так:
b3 = отправитель
C # должен делать это только потому, что хочет статически печатать объекты.Если вместо Button вы приводите интерфейс к объекту, для которого он явно реализован, это усложняется.