Podczas nauki programowania w visualu, natrafiłem na pewien błąd, gdzie na platformie msdn w rozwiązaniu było takie oto wyrażenie:
Kod: Zaznacz cały
Action act = () => TextBox1.Lines = tbLinesList.ToArray();
Co oznacza i co robi:
Kod: Zaznacz cały
= () =>
Myślę, że jest to zapisanie w jednej linijce definicji metody/funkcji - a jak wy uważacie?
Tutaj jest link gdzie to znalazłem:
https://msdn.microsoft.com/query/dev14. ... 29&rd=true
(szukać pod Windows Forms apps)
a kod przykładu wygląda następująco:
Kod: Zaznacz cały
private void DoSomeWork(int msOfWork, List<string> tbLinesList)
{
// simulate work
var endTime = DateTime.Now.AddMilliseconds(msOfWork);
while (DateTime.Now < endTime)
{
// spin
};
// report completion
var msgFormat = "Some work completed in {0} ms on {1}UI thread.\n";
var msg = String.Empty;
if (TextBox1.InvokeRequired)
{
msg = String.Format(msgFormat, msOfWork, "non-");
tbLinesList.Add(msg);
Action act = () => TextBox1.Lines = tbLinesList.ToArray();
TextBox1.Invoke( act );
}
else
{
msg = String.Format(msgFormat, msOfWork, String.Empty);
tbLinesList.Add(msg);
TextBox1.Lines = tbLinesList.ToArray();
}
}