일부 기준에 따라 Windows 로그를 가져오고 필터링하려고합니다. 그 중 하나는 Message
필터입니다. Message
속성은 EventLog.GetEventLogs().Entries.Message
입니다. 문제는 Entries
이 EventLogEntryCollection
이고 람다 식 (여기서)을 실행할 수 없습니다. 또한 IEnumberable (List) 형식으로 캐스팅 시도했지만 예외를 throw하고 캐스팅 할 수 없습니다. 다른 문제는 읽기 전용 속성이므로 새로운 EventLog
개체를 만들고 수동으로 항목을 추가하는 것이 거의 불가능하다는 것입니다. 처음에 내가 시도하는 것은이었다IEnumerable이 아닌 유형의 람다 식을 사용하여 Windows 로그 필터링
List<EventLog> filteredList = EventLog.GetEventLogs().Where(
x => string.Equals(x.LogDisplayName, "Some Value")).Where(x => x.Entries.Where(...
그러나이 IEnumberable 아니기 때문에 분명히 Entries.Where()
이 작동하지 않습니다. 나는 몇 시간 동안 다른 해결책을 생각해 왔지만 지금은 희망이 없다. 어떤 도움이라도 대단히 감사합니다.
'GetEventLogs() '를 반환 배열,'T []'는'IEnumerable'을 구현한다. 그래,이게 효과가있다. 어떤 컴파일러 오류가 발생합니까? –
cdhowie
항목을 사용해보십시오 .OfType(). (.... –
jure
'GetEventLogs()'에는'Where'를'x.Entries'에 대해서는 실행할 수 없습니다 – PoweredByOrange