Как передать List<класс> через аргументы

99
05 марта 2022, 06:20

Есть класс в котором собираю данные и записываю их в файл

public static class BaseLog
{
   private static readonly List<ClassName> DataBase = new List<ClassName>();
   public static void Save()
   {
      //...
      SaveDataBase.GO("Log.txt", DataBase);
   }
}

Есть отдельный класс который я хочу использовать для сохранения данных в файл.

public static class SaveDataBase
{
  public static void GO(string path, List<Type> _logs) // List<object> _logs
  {
    using (TextWriter tw = new StreamWriter(path))
    {
       foreach (var item in _logs)
       {
          tw.WriteLine(item.ToString());
       }
    }
  }
}

Проблема заключается в том что из метода SaveDataBase.GO аргумент не правильно передаётся List<Type> _logs не удаётся преобразовать для класса.

Как передать List<ClassName> в аргументы? или это по другому называется, я точно не знаю прошу прощения.

public class ClassName
{
   public string Name { get; set; } 
   public string Data{ get; set; } 
   public override string ToString()
   {
      return string.Format(Name, Data); 
   }
}
Answer 1
public static class SaveDataBase<T>
{
  public static void GO(string path, List<T> _logs) 
  {
    using (TextWriter tw = new StreamWriter(path))
    {
       foreach (T item in _logs)
       {
          tw.WriteLine(item.ToString());
       }
    }
  }
}
  ...
  SaveDataBase<ClassName>.GO("Log.txt", DataBase);
public static class SaveDataBase
{
  public static void GO<T>(string path, List<T> _logs) 
  {
    using (TextWriter tw = new StreamWriter(path))
    {
       foreach (T item in _logs)
       {
          tw.WriteLine(item.ToString());
       }
    }
  }
}
  ...
  SaveDataBase.GO<ClassName>("Log.txt", DataBase);
READ ALSO
Как через исключения получить имя метода и класса

Как через исключения получить имя метода и класса

Как при возникновении исключения получить имя метода и класса в котором оно вызвано?

101
Как из массива выбрать неповторяющиеся элементы

Как из массива выбрать неповторяющиеся элементы

Есть массив Buttons, из которого необходимо выбрать Mins чисел и занести это все в массив fakeButtons PS Желательно не через LINQ

125