Хотя нет никакого идеального решения, следующее может быть сделано:
, Если бы вызов к собственному коду должен был быть удален, программа не запустилась бы так или иначе. Если это не будет удалено тогда, то лицензия будет осуществлена.
, Хотя это не межплатформенное или решение чистого Python, оно будет работать.
Я не думаю, что действие без параметров доступно в .NET 2.0 Не беспокойтесь - просто используйте другой предопределенный тип делегата. MethodInvoker должен выполнять эту работу (метод void без параметров).
Кроме того, BeginInvoke имеет 2 перегрузки: одна принимает делегат, а другая - делегат и массив объектов.
BeginInvoke(new MethodInvoker(delegate()
{
someCombobox.Text = "x";
}));
Вы можете определить свой собственный делегат Action.
delegate void Action ()
Я не вижу объект, для которого вы вызываете BeginInvoke, но если это пользовательский интерфейс элемента управления, созданного в том же потоке, что и поле со списком, делегат, который вы передаете, гарантированно будет вызван через некоторое время после завершения обработчика события SelectedIndexChanged.