Free cookie consent management tool by TermsFeed Policy Generator

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

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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.