static BackgroundWorker worker;
static void Main(string[] args)
{
worker = new BackgroundWorker();
worker.DoWork += worker_DoWork;
worker.RunWorkerAsync();
Console.ReadLine();
}
static void worker_DoWork(object sender,DoWorkEventArgs e)
{
string strClientId = "2211"; Authenticate(ref strClientId);
}
static void Authenticate(ref string strClientId)
{
Timer timer = new Timer(500);
//Error in this line
//Cannot use ref or out parameter 'strClientId' inside an anonymous method,lambda expression or query expression
timer.Elapsed += (sender, e) => Authenticates_Timer(sender, e,ref strClientId);
//timer.Elapsed += Authenticates_Timer();
timer.Start();
}
static void Authenticates_Timer(object sender, ElapsedEventArgs e, ref string strClientId)
{
//want to use variable here
strClientId = "";
}
, если есть способ я могу использовать переменную реф при прохождении параметра в случае нельзя использовать реф или из параметра «strClientId» внутри анонимного метода, лямбда-выражения или запрос expression.I знает, что это повторяется вопрос, но я не смог понять, как решить эту проблему уже refered различных сообщений и разместил вопрос в CodeProject тоже, но никто не отвечают какой-либо помощи ценитсянельзя использовать использовать реф или из параметров для анонимных методов
Вы всегда можете создать класс, который имеет поле для хранения идентификатора клиента. Затем передайте экземпляр класса. –