BinaryFormatter has very unusual powers, nothing else looks like what it does. It can create an object of your class without starting its constructor. And this can give meaning to your properties without using access methods to property settings.
Otherwise, there is nothing special about this, it simply saves the field values โโof your class object. And restores them when the object is deserialized.
, - , , . , , , , . IsAdministrator. Control.Handle, .
, BinaryFormatter . , , . , - , , , . , , [Serializable].