Я хочу вызвать метод, который управляет элементом управления в потоке пользовательского интерфейса. Мой код работает, и я хочу его оптимизировать. Я имею в виду этот ресурс в MSDN .
В соответствии с этим мы должны сделать
public delegate void myDelegate(int anInteger, string aString);
//...
Label1.Invoke(new myDelegate(myMethod), new Object[] {1, "This is the string"});
Будет ли это вводить потерянный объект делегата (утечка памяти) при каждом вызове?
Когда я буду делать это со статическим экземпляром делегата, как показано ниже, а затем использовать этот экземпляр в каждый вызов для вызова:
private static _delegateInstance = new myDelegate(myMethod);
//...
Label1.Invoke(_delegateInstance , new Object[] {1, "This is the string"});
Будет ли это потокобезопасным? Было бы верно, что это имеет немного лучшую производительность, поскольку экземпляр делегата создается только один раз?