Я новичок в c# и унаследовал код, который недостаточно хорошо прокомментирован, и исходного разработчика больше нет.
Мне нужно передать второй параметр в функцию ниже:
Код ссылки = 1
public class SnmpTrapListener : IDisposable
{
....
private KeyValuePair<string, object> MapVariableValues(Variable variable)
{
....
return new KeyValuePair(...);
}
...
}
Единственные места, в которых вышеуказанная функция вызывается / ссылается, находятся в одном и том же классе и в одном другом классе.
Ссылка из того же класса - это .. .
Код ссылки = 2
var observable = trapV1MessageHandler.ToObservableGenericTrapMessage(_Logger, MapVariableValues)
.Merge(trapV2MessageHandler.ToObservableGenericTrapMessage(_Logger, MapVariableValues));
Вызов другого класса: ...
Код ссылки = 3
public static IObservable<GenericTrapMessage> ToObservableGenericTrapMessage(this TrapV1MessageHandler handler, Logger Logger, Func<Variable, KeyValuePair<string, object>> variableMapping)
{
return Observable.FromEventPattern<TrapV1MessageReceivedEventArgs>(
h => handler.MessageReceived += h,
h => handler.MessageReceived -= h)
.Select(e =>
{
return new GenericTrapMessage
{
Timestamp = e.EventArgs.TrapV1Message.TimeStamp,
Sender = e.EventArgs.Sender.ToString() + ":" + System.Environment.MachineName.ToString(),
Type = e.EventArgs.TrapV1Message.Enterprise.ToString(),
Variables = e.EventArgs.TrapV1Message.Variables().Select(variableMapping).ToList()
}
});
...
}
I хочу добавить второй параметр 'OID' строки, как показано ниже ... Код ссылки = 4
private KeyValuePair<string, object> MapVariableValues(Variable variable, String OID)
{
....
return new KeyValuePair(...);
}
...
}
Часть, в которой мне нужна помощь, - это как изменить код, показанный в "Код ссылки = 2", и «Код Ref = 3» выше для обработки второго строкового параметра?
Я думаю, мне просто нужно изменить одну строку в «Code Ref = 3», передавая новый параметр String, но я не знаю, как для этого - строка, которую я думаю, мне нужно изменить:
Variables = e.EventArgs.TrapV1Message.Variables().Select(variableMapping).ToList()