using System; using Ringtoets.Piping.IO.Exceptions; namespace Ringtoets.Piping.IO.SoilProfile { internal interface IRowBasedReader { /// /// Moves the reader to the next record in the database. /// void MoveNext(); /// /// Reads a value at column from the database. /// /// The expected type of value in the column with name . /// The name of the column to read from. /// The read value from the column with name . /// Thrown when the value in the column was not of type . T Read(string columnName); /// /// Reads the value in the column with name from the /// current row that's being pointed at. /// /// The type of object to read. /// The name of the column to read from. /// The value in the column, or null if the value was . /// Thrown when the value in the column could not be casted to type . T? ReadOrNull(string columnName) where T : struct; } }