I've been working with a number of classes that expose events. These classes are marked as serializable so that they can be saved to the disk. However, I don't want the events to be serialized, as the built-in serializer will try to serialize all the subscribers to these events, and not all subscribers will be serializable (windows forms, for example). So, following the guidelines I've tagged the events of these classes with the [field:NonSerialized] attribute to prevent the subscribers to these events from being serialized. Unfortunately, this attribute appears to have no effect if the class is written in C++/CLI, although it does work for classes written in C#.