[Serializable]public class AClass: ISerializable{
public int Id { get; }
public AClass(int id) { Id = id; }
protected AClass(SerializationInfo info, StreamingContext context) { /* implementation here */ }
protected virtual void GetObjectData(SerializationInfo info, StreamingContext context) { /* implementation here */ } void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) => GetObjectData(info, context);}