c# |接收CS0236错误:字段初始化器无法引用非静态字段、方法或属性'
本文关键字:字段 方法 静态 属性 引用 CS0236 接收 错误 初始化 | 更新日期: 2023-09-27 18:13:05
我正在尝试使用EventLogReader
和EventRecord
类从本地计算机读取事件日志。使用c# .
我一直得到错误
CS0236错误:字段初始化器不能引用非静态字段、方法或属性getInfo。BSN_Navigator '
不知道我做错了什么。
代码:using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics.Eventing.Reader;
/// </var bank>
/// </var bank>
namespace EventLogInfoReader
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine();
String inputString = Console.ReadLine();
}
}
}
public class getInfo
{
public static PathType FilePath { get; private set; }
EventLogReader BSN_Navigator = new EventLogReader("c:''Users''banvilb''Documents''Event Log''FalconBackup_Sep192016T124905''BSN_Navigator.evt", FilePath);
EventRecord bsnRecord = BSN_Navigator.ReadEvent();
public void getLogName()
{
string x = bsnRecord.LogName;
Console.WriteLine(x);
}
public void getId()
{
int x = bsnRecord.Id;
Console.WriteLine(x);
}
}
EventRecord bsnRecord = BSN_Navigator.ReadEvent();
需要进入构造函数
字段在声明中初始化的方式是有限的。在您的情况下,您正在尝试调用一个方法,但您不能调用方法之外的方法。这意味着你需要在构造函数中初始化它。
public class getInfo
{
EventLogReader BSN_Navigator = new EventLogReader("BSN_Navigator.evt", FilePath);
EventRecord bsnRecord;
public getInfo()
{
bsnRecord = BSN_Navigator.ReadEvent();
}
}