Я новичок, поэтому, пожалуйста, уточните c. У меня есть Windows код формы, который мне нужно сделать модульным и переместить его в класс. Код предназначен для камеры Keyence SR-2000, которую мы используем для считывания нескольких 2D штрих-кодов одновременно. Я знаю, что мне нужно реализовать ISynchronizeInvoke, но, похоже, застрял на преобразовании и как это сделать. Вот следующий код для интерфейса Keyence.
m_searcher.Start((res) =>
{
//Define searched actions here.Defined actions work asynchronously.
//"SearchListUp" works when a reader was searched.
BeginInvoke(new delegateUserControl(SearchListUp), res.IpAddress);
});
Где res.IPAddress - строка. Поэтому я пытаюсь реализовать ISynchronizeInvoke и IAsyncResult
Я использую http://gurkashi.blogspot.com/2011/01/hi-all-in-this-post-i-will-demonstrate.html в качестве примера для начала.
Код Keyence в форме будет запускаться IAyncResult
private void SearchListUp(string ip)
{
if (ip != "")
{
comboBox1.Items.Add(ip);
comboBox1.SelectedIndex = comboBox1.Items.Count - 1;
return;
}
else
{
NICcomboBox.Enabled = true;
SctBtn.Enabled = true;
SchBtn.Enabled = true;
}
}
Элементы, которые я не понимаю, это BeginInvoke (метод Delegate, объект [] args) отличается от того, что они делают BeginInvoke (Метод делегата, строковый аргумент) Как я могу привести это? Как они это делают?
Можно ли это сделать?