comme le suggère le titre im essayant d'envoyer un fichier acquis par lecteur de flux à une autre classe afin que cette classe puisse en extraire les informations. J'ai essayé de l'extraire au sein de la forme, mais cela le rend confus et je suis certain que c'est une mauvaise façon de le faire. Quelqu'un peut-il suggérer un moyen?Essayer d'envoyer un fichier à une autre classe en C#
Voici la classe qui identifie le fichier ..
namespace DistanceEstimatorFinal
{
public partial class Form1 : Form
private void openDataListToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "CSV files (*.csv)|*.csv|Text files (*.txt)|*.txt |All files (*.*)|*.*";
if (ofd.ShowDialog(this).Equals(DialogResult.OK))
{
Stream fileStream = ofd.OpenFile();
using (StreamReader reader = new StreamReader(fileStream))
{
}
}
}
Maintenant, je besoin d'une certaine façon de l'envoyer ici ... Je ne vois pas comment: [
namespace DistanceEstimatorFinal
{
public class dataPoints
{
List<dataPoint> Points;
public dataPoints()
{
Points = new List<dataPoint>();
TextReader tr = new StreamReader();
string input;
while ((input = tr.ReadLine()) != null)
{
string[] bits = input.Split(',');
dataPoint a = new dataPoint(bits[0],bits[1],bits[2]);
Points.Add(a);
}
tr.Close();
}
internal dataPoint getItem(int p)
{
if (p < Points.Count)
{
return Points[p];
}
else
return null;
}
}
}
Toute aide serait grandement apprécié
Vous rendez cela plus compliqué que nécessaire. pourquoi ne pas passer dans le chemin du fichier à la classe ou dans le constructeur ..? – MethodMan
Note complémentaire: veuillez essayer de suivre les directives de codage C# par défaut pour les échantillons publics - classes/méthodes de nom avec UpperCase (DataPoint) et champs avec camelCase. –