Marks the implementing type as being serializable. Aspects and fabrics are typically serialized when they affect a different project than the current one (by inheritance or reference validation). Serialized objects may be deserialized on a different machine than the one on which they have been serialized, and a long time after.
[CompileTime] public interface ICompileTimeSerializable
When a type is marked as compile-time-serializable, all fields and automatic properties should be of a serializable type, except those annotated with the NonCompileTimeSerializedAttribute custom attribute.
The following system types are serializable: intrinsic types, arrays of serializable types, DateTime, System.TimeSpan, System.Globalization.CultureInfo, System.Guid, Dictionary<TKey,TValue>, System.Collections.Generic.List<>, System.Collections.Immutable.ImmutableArray<>, System.Collections.Immutable.ImmutableDictionary<, >.