Próbuję napisać do przeglądarki zdarzeń w moim kodzie C#, ale otrzymuję komunikat "Odwołanie do obiektu nie jest ustawione na instancję obiektu". Byłbym wdzięczny za pomoc w tym kodzie, albo o to, co jest z nim nie tak, albo nawet o lepszy sposób na zrobienie tego. Oto co mam do zapisu w dzienniku zdarzeń:C# zapisywanie w przeglądarce zdarzeń
private void WriteToEventLog(string message)
{
string cs = "QualityDocHandler";
EventLog elog = new EventLog();
if (!EventLog.SourceExists(cs))
{
EventLog.CreateEventSource(cs, cs);
}
elog.Source = cs;
elog.EnableRaisingEvents = true;
elog.WriteEntry(message);
}
A oto gdzie próbuję to nazwać:
private readonly Random _rng = new Random();
private const string _chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private string RandomString(int size)
{
try
{
char[] buffer = new char[size];
for (int i = 0; i < size; i++)
{
buffer[i] = _chars[_rng.Next(_chars.Length)];
}
return new string(buffer);
}
catch (Exception e)
{
WriteToEventLog(e.ToString());
return null;
}
}
w jakim wierszu jest błąd? – NikolaiDante
proszę podać ślad stosu –
"Odwołanie do obiektu nie jest ustawione na instancję obiektu" - oznacza, że odwołujesz się do wartości NULL, znacznie lepiej jest znać linię kodu, gdzie to się dzieje, ponieważ wtedy możesz zobaczyć, co to jest to jest NULL, do którego się odwołujesz. –