Child pages
  • Generic versions of the interfaces as part of the standard

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

Currently we have all interfaces working only in a non-generic way. It would be useful to have an additional / alternative version which uses generics, e.g.:

Code Block

public interface IArgument<T>
{
    T Value { get; set; }

    T DefaultValue { get; }

    IEnumerable<T> GetPossibleValues { get; }
    
    ...
}

public interface IExchangeItem<T>
{
    ...
}

This may simplify usage / performance in many cases.

We should probably to it when C#, Java, C++, Python, FORTRAN versions of the OpenMI standard will appear since implementation of generics is not the same on different platforms and in some implementations need to be skipped at all. Not preventing use of it in different languages.