Math.net имеет ToString()
реализации для большинства коллекций данных. При использовании в классах они должны быть переопределены. Я знаю, как это сделать для одной переменной, но как сделать ее обобщенной для всех переменных одного и того же типа?Math.net Как создать общий ToString() переопределить
Мое определение класса с одной переменной ToString()
переопределения:
public class Network
{
public Matrix<double> Win { get; set; } // network input matrix
public Matrix<double> Wres { get; set; } // network reservoir matrix
public Matrix<double> Wout { get; set; } // network output matrix
// constructor
public Network(Matrix<double> Winput, Matrix<double> Wreservoir, Matrix<double> Woutput)
{
Win = Winput;
Wres = Wreservoir;
Wout = Woutput;
}
public override string ToString()
{
return Win.ToString();
}
}
Это работает на Win
с вызовом, как Console.WriteLine(network.Win.ToString());
, но как вывести остальные матрицы Wres
, Wout
(с разными размерами)? Я попытался создать три отменяются, но это не работает, так как компилятор жалуется:
уже определяет элемент, называемый «ToString» с тем же параметром типа
и, кроме того, я уверен, должен быть более общий и элегантный способ сделать это.
Вы хотите один метод, который преобразует все три матрицы в строковое представление? Вы можете просто вернуть это в свой переопределенный метод ToString. –
Ларс, я хочу иметь возможность выводить любую из трех матриц с помощью оператора 'WriteLine', как показано в моем вопросе. Можете ли вы показать/объяснить, что вы предлагаете? – jdelange
Это? 'return Win.ToString() + Wres.ToString() + Wout.ToString()' –