C# - Klassenproblem


#1
Hallo Zusammen,

mein Projekt besitzt vier eigenständige Klassen:
  • Mainklasse – enthält die Aufrufe der anderen Klassen
  • _DATA_COLLECTOR – Ruft die Klasse _XML_HANDLER auf
  • _XML-HANDLER – lädt und liest die XML-Dateien
  • _MODUL_1 soll auf den _DATA_COLLECTOR zugreifen
Wenn ich die XML-Datei mittels Mainklasse über _DATA_COLLECTOR._XML_HANDLER einlese, bekomme ich richtige Werte zurück.

Problem:

Wenn ich versuche mittels Mainklasse über _MODUL_1 auf _DATA_COLLECTOR zuzugreifen, bekomme ich immer eine „NullReferenceException“, obwohl ich die XML-Datei schon geladen habe.

___________________________________________________________________________
using System;
using System.Windows.Forms;
namespace Klassenproblem
{
public partial class Mainform : Form
{
_DATA_COLLECTOR _DATA_COLLECTOR = new _DATA_COLLECTOR();
_MODUL_1 _MODUL_1 = new _MODUL_1();

public Mainform()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
_DATA_COLLECTOR._GET_DATA();
textBox1.Text = _DATA_COLLECTOR._XML_HANDLER._XML_CONTENT.GetElementsByTagName("ordernumber")[0].InnerText;
}

private void button2_Click(object sender, EventArgs e)
{
_MODUL_1._GET_DATA();
textBox2.Text = _MODUL_1.ordernumber;
}
}
}
_________________________________________________________________________________
namespace Klassenproblem
{
public class _DATA_COLLECTOR
{
public _XML_HANDLER _XML_HANDLER = new _XML_HANDLER();

public void _GET_DATA()
{
_XML_HANDLER._XML_LOAD();
}
}
}
___________________________________________________________________________
using System;
using System.Windows.Forms;
using System.Xml;

namespace Klassenproblem
{
public class _XML_HANDLER
{
public XmlDocument _XML_CONTENT = new XmlDocument();

public void _XML_LOAD()
{
try
{
string _XML_PATH = "";
OpenFileDialog _dateiauswahl = new OpenFileDialog();
_dateiauswahl.Filter = "XML-Files (*.xml)|*.xml";
DialogResult _ergebnis = _dateiauswahl.ShowDialog();
if (_ergebnis == DialogResult.OK)
{
_XML_PATH = _dateiauswahl.FileName;
_XML_READ(_XML_PATH);
}
}
catch (Exception _exception) { MessageBox.Show("Open XML-File Dialog : " + _exception.ToString(), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); }
}
public void _XML_READ(string _XML_PATH)
{
try
{
XmlTextReader _xml_reader = new XmlTextReader(_XML_PATH);
_xml_reader.XmlResolver = null;
_XML_CONTENT.XmlResolver = null;
XmlNamespaceManager _xml_namespace_manager = new XmlNamespaceManager(_XML_CONTENT.NameTable);
_XML_CONTENT.Load(_xml_reader);
_xml_reader.Close();
}
catch (Exception _exception) { MessageBox.Show("Read XML-File : " + _exception.ToString(), "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); }
}
}
}
__________________________________________________
using System;

namespace Klassenproblem
{
class _MODUL_1
{
_DATA_COLLECTOR _DATA_COLLECTOR = new _DATA_COLLECTOR();

public string ordernumber = "";

public void _GET_DATA()
{
try { ordernumber = _DATA_COLLECTOR._XML_HANDLER._XML_CONTENT.GetElementsByTagName("ordernumber")[0].InnerText; }
catch (Exception _exception) { ordernumber = _exception.GetType().ToString(); }
}
}
}
____________________________________________________________
<root>
<ordernumber>555.418.666 AC</ordernumber>
</root>
____________________________________________________________________

Klassenproblem.PNG



Frage:

Was mache ich falsch bzw. wo liegt mein Problem?



Vielen Dank vorab für die Unterstützung!


Beste Grüße

Andy
 
#2
Gelöst:
Fehler war im _DATA_COLLECTOR

namespace Klassenproblem
{
public class _DATA_COLLECTOR
{
stativ public _XML_HANDLER _XML_HANDLER = new _XML_HANDLER();

public void _GET_DATA()
{
_XML_HANDLER._XML_LOAD();
}
}
}