' schrieb:Das Grobe habe ich schon verstanden, aber was die einzelnen Property Nodes machen (wie z.B. Get instances, get enumerator, Move next,....) ist mir zu hoch. Trotzdem schon mal Danke.
Gruß Markus
Hi Markus
ich versuche mich mal an einer Antwort.
Mit
ManagementClass(path) wird der Konstruktor der .NET ManagementClass aufgerufen, welche diese Klasse und deren Felder instanziert.
GetInstances() liefert eine Collection (Sammlung) aller Instanzen dieser Klasse. Mit
GetEnumerator() wird auf die Collection zugegriffen und als enumerierbares Objekt zurückgegeben (man kann somit diese Objekte durchlaufen).
MoveNext() ruft das, wie der Name schon sagt, nächste Objekt auf und zwar solange wie noch eines vorhanden ist. MoveNext() liefert als Rückgabewert flase, sobald kein Ojekt mehr vorhanden ist.
Current ist ein Property der ManagementCollection und liefert die Referenz auf das aktuelle Objekt. Somit hat man eine Instanz der aktuellen Klasse und kann auf deren Felder zugreifen. Mit
GetPropertyValue(string strPropertyName) wird auf das Feld zugegriffen und
ToString() liefert den Wert als String zurück (ist im endeffekt eine Mehtode die zur Verfügung gestellt wird, die implementiert wie der aktuelle Wert als String representiert wird).
Ich hoffe, das erklärt es kurz und knapp.
So etwas würde ich aber jedoch in eine .NET Assembly packen und wrappen und die als AusgabeWert nur noch die Temperatur hat. Weil .NET wird in LabVIEW sehr schnell sehr unübersichtlich. Das ganze GetEnumerator, MoveNext und Current gedöns lässt sich in C# viel einfacher und übersichtlicher gestallten. Da gibt es "foreach" Aufrufe, die genau das machen (sie gehen über alle Objekte einer Collection)
Gruss,
Christian