使用实例引用无法访问System.Diagnostics.EventLog

时间:2017-10-15 11:41:07

标签: c# windows service event-log

我正在创建Windows服务,并在尝试写入EventLog时遇到一些问题。我有以下代码;

body {
    background-color:#f0f0f0;
    font-family:verdana,arial,helvetica,sans-serif;
    font-size:16px;
 }
div {
    width:380px;
    padding:20px;
    border:1px solid #999;
    margin:20px auto;
    background-color:#fff;
    box-shadow:10px 10px 20px #666;
    font-size:100;
    text-align:center;
 }
div {
    margin:10px 0;
    float: left;
 }

这是基于MSDN文章和另一个SO问题在这里,它一直工作到昨晚但是今天早上它不能用于错误

无法使用实例引用访问

成员'EventLog.SourceExists(string)';使用类型名称来限定它

使用实例引用无法访问成员'EventLog.CreateEventSource(string,string)';使用类型名称来限定它

我不知道为什么,我已经检查了备份,这也是一个错误。

有没有人有任何想法?

谢谢

1 个答案:

答案 0 :(得分:1)

border_red border_blue border_pink border_green border_grey SourceExists是静态方法,您需要使用类型名称而不是实例变量来限定它们。基于错误并在此基础上:

CreateEventSource

大概你有一个名为this.EventLog 的实例变量。将其重命名为不那么令人困惑的内容,例如EventLog。任何与现有名称不冲突的有意义的名称。

基本上,不要将变量命名为与其类型相同的名称。这只会引起混淆,不仅来自编译器,还来自任何必须维护该代码的人。