Используйте отражение, чтобы получить все свойства класса и отобразить его, как показано ниже
foreach (var item in BokLista)
{
Type t = item.GetType();
PropertyInfo[] props = t.GetProperties();
foreach (PropertyInfo prp in props)
{
object value = prp.GetValue(atype, new object[]{});
Console.WriteLine(prp.Name+":"+ value);
}
}
Другой подход заключается в том, чтобы иметь PrintAllMethod в базовом классе и переопределить его во всех подклассах