LINK: http://www.codeproject.com/KB/dotnet/twaindotnet.aspxКак работает этот код? [ЖЕСТКИЙ]
Я пытаюсь создать класс-оболочку для этого открытой реализации .NET Самом и у меня возникают проблемы понять, как это на самом деле получает изображение.
Я загрузил исходный код, а в графическом интерфейсе есть кнопка Acquire. При нажатии на эту кнопку, чтобы перейти к это обработчик событий я нахожу этот код, который я предполагаю, что получает изображение:
private void menuItemScan_Click(object sender, System.EventArgs e)
{
if (!msgfilter)
{
this.Enabled = false;
msgfilter = true;
Application.AddMessageFilter(this);
}
tw.Acquire();
}
Если я следовать методу Приобретать(), чтобы увидеть его содержимое, я вижу это:
public void Acquire()
{
TwRC rc;
CloseSrc();
if (appid.Id == IntPtr.Zero)
{
Init(hwnd);
if (appid.Id == IntPtr.Zero)
return;
}
rc = DSMident(appid, IntPtr.Zero, TwDG.Control, TwDAT.Identity, TwMSG.OpenDS, srcds);
if (rc != TwRC.Success)
return;
TwCapability cap = new TwCapability(TwCap.XferCount, 1);
rc = DScap(appid, srcds, TwDG.Control, TwDAT.Capability, TwMSG.Set, cap);
if (rc != TwRC.Success)
{
CloseSrc();
return;
}
TwUserInterface guif = new TwUserInterface();
guif.ShowUI = 1;
guif.ModalUI = 1;
guif.ParentHand = hwnd;
rc = DSuserif(appid, srcds, TwDG.Control, TwDAT.UserInterface, TwMSG.EnableDS, guif);
if (rc != TwRC.Success)
{
CloseSrc();
return;
}
}
Что я не понимаю, так это то, как метод с возвращаемым типом «void» может иметь оператор return. Кроме того, где он приобретает и возвращает изображение?
Может ли кто-нибудь помочь?
Я пытаюсь создать полезную оболочку и с открытым исходным кодом, потому что, поскольку она стоит, нет простого решения перетаскивания для сканирования изображений на C#.
Спасибо за помощь!
Редактировать: Спасибо за помощь относительно ранних возвратов. TIL! Теперь мне интересно, как приложение получает изображения для отображения в форме.
Любые указания?
@Serg - Вы можете вызвать return, чтобы завершить метод.Последнее возвращение не имеет значения, потому что метод заканчивается после оператора if. – tpow 2010-12-02 13:11:18