Pergunta

Eu gostaria de obter o identificador da minha forma de uma classe diferente (provavelmente segmento). Eu quero fazê-lo da maneira que eu faço invocação

    public int GetHandle
    {
        get
        {
            if (this.InvokeRequired)
            {
                this.Invoke((MethodInvoker)delegate
                {
                    return this.Handle.ToInt32();
                });
            }
        }
    }

Eu recebo um erro "Desde retornos 'System.Windows.Forms.MethodInvoker' vazio, uma palavra-chave de retorno não deve ser seguido por uma expressão de objeto"

Se eu não usar a invocar, eu recebo uma exceção que eu não estou chamando o método do segmento atual.

Foi útil?

Solução

Você pode chamar qualquer delegado, não apenas MethodInvoker. Tente isto:

public int GetHandle
    {
        get
        {
            if (this.InvokeRequired)
            {
                return (int)this.Invoke((GetHandleDelegate)delegate
                {
                    return this.Handle.ToInt32();
                });
            }
            return this.Handle.ToInt32();
        }
    }
private delegate int GetHandleDelegate();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top