Free cookie consent management tool by TermsFeed Policy Generator

source: trunk/sources/HeuristicLab.Persistence/3.3/Interfaces/IFormatter.cs @ 1564

Last change on this file since 1564 was 1564, checked in by epitzer, 15 years ago

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

File size: 911 bytes
Line 
1using System;
2
3namespace HeuristicLab.Persistence.Interfaces {
4
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>
10  public interface IFormatter {
11    Type SerialDataType { get; }
12    Type SourceType { get; }
13    ISerialData Format(object o);
14    object Parse(ISerialData o); 
15  }
16
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     
27}
Note: See TracBrowser for help on using the repository browser.