0
프로 시저가 비어있는 경우 아래 WMI 쿼리에서 내 코드 오류입니다. 속성이 없을 때 어떻게 코드를 반환 할 수 있습니까? 예를 들어, queryObj [ "Help Telephone"]은 null이므로 내 코드는 오류가 발생하지만 계속 진행하길 원합니다.빈 속성에 대한 WMI 쿼리
ManagementObjectSearcher searcherSoftware = new ManagementObjectSearcher("root\\CIMV2", "Select * from Win32_Product");
foreach (ManagementObject queryObj in searcherSoftware.Get())
{
ItemsUnderControlObject TemporarySoftware = new ItemsUnderControlObject();
TemporarySoftware.sType = "Software";
TemporarySoftware.sAssignmentType = queryObj["AssignmentType"].ToString().Split(new[] { "Name=" }, StringSplitOptions.None).Last().Trim('"'); //http://stackoverflow.com/questions/22583873/get-names-from-string-values/22583919?noredirect=1#22583919
TemporarySoftware.sCaption = queryObj["Caption"].ToString().Split(new[] { "Name=" }, StringSplitOptions.None).Last().Trim('"');
TemporarySoftware.sDescription = queryObj["Description"].ToString().Split(new[] { "Name=" }, StringSplitOptions.None).Last().Trim('"');
TemporarySoftware.sHelpLink = queryObj["HelpLink"].ToString().Split(new[] { "Name=" }, StringSplitOptions.None).Last().Trim('"');
TemporarySoftware.sHelpTelephone = queryObj["Help Telephone"].ToString().Split(new[] { "Name=" }, StringSplitOptions.None).Last().Trim('"');
}
라인 객체는 PropertyValue = queryObj [propertyName 형식] 여전히 catch 문으로 이동합니다. 왜 내가 몰라. ex 설명은 해당 속성이 전혀 존재하지 않는 것처럼 "찾을 수 없음"입니다. – user1438082
- 코드 주위에 try catch를 놓고 catch 문을 입력하면 ""를 반환하십시오. – user1438082