|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: May 2008
Messaggi: 5
|
[C#] - System.Management, Errore fastidioso.
Ciao, volevo chiedere aiuto per un problema che mi esce fuori quando faccio uso delle ManagementClass con il System.Management Namespace. In poche parole, quando vado a richiamare la funzione per prendere i valori che mi servono, per esempio con la classe Win32_PhysicalMemory, alcuni campi causano una NullReferenceException.
Sapete come posso risolvere il problema? Nel frattempo metto anche il codice che ho usato, così se volete darci un occhiata per capire meglio =) Codice:
public static string memvers() { ManagementClass mem = new ManagementClass("Win32_PhysicalMemory"); ManagementObjectCollection coll = mem.GetInstances(); string res; res = ""; foreach (ManagementObject obj in coll) { res = obj.GetPropertyValue("Version").ToString(); System.Windows.Forms.MessageBox.Show(res); } coll.Dispose(); mem.Dispose(); return res; }
__________________
![]() ![]() Mai fidarsi di un computer che non è possibile gettare dalla finestra. - Wozniak. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Suggerisco di richiamare il MessageBox solo se l'oggetto stringa del campo che chiedi non sia, appunto, una null reference, così (in grasseto, sintassi Java, non conosco l'equivalente in C#):
Codice:
public static string memvers() { ManagementClass mem = new ManagementClass("Win32_PhysicalMemory"); ManagementObjectCollection coll = mem.GetInstances(); string res; res = ""; foreach (ManagementObject obj in coll) { res = obj.GetPropertyValue("Version").ToString(); if (res != null) { System.Windows.Forms.MessageBox.Show(res); } } coll.Dispose(); mem.Dispose(); return res; } Ciao ![]()
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:16.