Извиняюсь за столь позднюю публикацию, я новичок в Stack Overflow, поэтому упустил ранее предоставленную возможность.
Я считаю, что EventHandler<T>
является отличной чертой структуры, которая используется недостаточно.
Большинство разработчиков C #, с которыми я сталкиваюсь, все еще определяют собственный делегат обработчика событий, когда они определяют пользовательские события, которые просто больше не нужны.
Вместо:
public delegate void MyCustomEventHandler(object sender, MyCustomEventArgs e);
public class MyCustomEventClass
{
public event MyCustomEventHandler MyCustomEvent;
}
вы можете пойти:
public class MyCustomEventClass
{
public event EventHandler<MyCustomEventArgs> MyCustomEvent;
}
, что намного более кратко, плюс вы не попадаете в дилемму, ставить ли делегата в файле .cs для класса, который содержит событие, или производный класс EventArgs.
Вы можете использовать цель jetty: run-exploded, а не jetty: run. Из документации :
Эта цель сначала собирает ваше веб-приложение в развернутый файл войны, а затем развертывает его на Jetty.
Это может гарантировать выполнение соответствующих этапов жизненного цикла войны до запуска сервера .
Также вы уверены, что профиль jci активирован? если для сборки указан другой профиль, свойство
Из ответа Джона Кейси:
Приведенный выше пример работает как разработан. Элемент
предназначен для указания, что этот профиль будет активирован, если в сборке нет других активных профилей. Следовательно, конкретная активация любого профиля приведет к его деактивации.