преобразовать делегата из c # в vb.net - PullRequest
4 голосов
/ 03 августа 2011

У меня проблемы с преобразованием делегата C # в VB.NET.

Как это можно сделать?

    public MainForm()
    {
        InitializeComponent();

        _twain = new Twain(new WinFormsWindowMessageHook(this));
        _twain.TransferImage += delegate(Object sender, TransferImageEventArgs args)
        {
            if (args.Image != null)
            {
                pictureBox1.Image = args.Image;

                widthLabel.Text = "Width: " + pictureBox1.Image.Width;
                heightLabel.Text = "Height: " + pictureBox1.Image.Height;
            }
        };
        _twain.ScanningComplete += delegate
        {
            Enabled = true;
        };
    }

1 Ответ

4 голосов
/ 03 августа 2011

Кажется, что ни один из этих методов не использует никакого контекста в самом конструкторе, поэтому я бы преобразовал каждый анонимный метод в "нормальный" метод в вашем VB-коде (который должен быть простым), а затем использовал бы что-то подобное в вашем конструкторе.:

AddHandler _twain.TransferImage, AddressOf(TransferImageHandler)
AddHandler _twain.ScanningComplete, AddressOf(ScanningCompleteHandler)

Методы должны иметь ту же сигнатуру, что и события, с которыми они работают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...