Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/16/09 12:40:41 (16 years ago)
Author:
epitzer
Message:

Stronger typing for formatters with the help of generics. Separate format and serial data type. (#548)

Location:
trunk/sources/HeuristicLab.Persistence/3.3/Interfaces
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Persistence/3.3/Interfaces/IFormat.cs

    r1542 r1564  
    33namespace HeuristicLab.Persistence.Interfaces {
    44
     5  /// <summary>
     6  /// Interface of a new serialization output format. Instead of implementing this
     7  /// interface, derive from FormatBase.
     8  /// </summary>
    59  public interface IFormat {
    610    string Name { get; }
     11    Type SerialDataType { get; }
     12  }
     13
     14  /// <summary>
     15  /// Marker interface for new serialization output format.  Instead of implementing this
     16  /// interface, derive from FormatBase.
     17  /// </summary> 
     18  public interface IFormat<SerialDataFormat> : IFormat where SerialDataFormat : ISerialData {
    719  }
    820
  • trunk/sources/HeuristicLab.Persistence/3.3/Interfaces/IFormatter.cs

    r1542 r1564  
    33namespace HeuristicLab.Persistence.Interfaces {
    44
     5  /// <summary>
     6  /// Marker interface of serial data formatters. Transform data of type SourceType
     7  /// into the serialization format SerialDataType. Derive from FormatterBase instead
     8  /// of implementing this interface.
     9  /// </summary>
    510  public interface IFormatter {
    6     Type Type { get; }
    7     IFormat Format { get; }
    8     object DoFormat(object o);
    9     object Parse(object o);
     11    Type SerialDataType { get; }
     12    Type SourceType { get; }
     13    ISerialData Format(object o);
     14    object Parse(ISerialData o); 
    1015  }
    1116
     17  /// <summary>
     18  /// Marker interface of serial data formatters. Transform data of type Source
     19  /// into the serialization format SerialData. Derive from FormatterBase instead
     20  /// of implementing this interface.
     21  /// </summary> 
     22  public interface IFormatter<Source, SerialData> : IFormatter where SerialData : ISerialData {
     23    SerialData Format(Source o);
     24    Source Parse(SerialData t);
     25  } 
     26     
    1227}
Note: See TracChangeset for help on using the changeset viewer.