Возможно, Вы могли использовать преобразование XSL для преобразования XSD в определения таблицы SQL. Аналогично, я не могу найти предшествующие примеры этого, но я думал бы, что это будет возможно.
я вообразил бы универсальный XSLT для XSD-> SQL, когда-то записанный, мог быть применен к любому такому сценарию (и будет межплатформенным также). Возможно, кто-то сделал это прежде...
Вы можете использовать делегаты действий. Это гораздо более элегантно, чем использование данных, которые вам никогда не понадобятся (я имею в виду EventArgs).
Здесь вы определяете события:
public event Action EventWithoutParams;
public event Action<int> EventWithIntParam;
И здесь вы запускаете события:
EventWithoutParams();
EventWithIntParam(123);
Вы можете найти всю необходимую информацию на Действие или Действие
Любое из этих событий может быть инициализировано безоперационным делегатом ... = делегат {};
, чтобы вы не использовали 'Нет необходимости проверять значение null перед запуском события.
Вы можете просто написать:
public event EventHandler Selected;
Попробуйте:
public event EventHandler Selected;
затем вызвать ..
Selected(null, EventArgs.Empty);
Таким образом, это определение события по умолчанию, и вам не нужно передавать информацию, если вы этого не хотите.
Следуя упомянутому вами типу PlayerIndexEventArgs
, я предполагаю, что вы используете XNA, право? Если это так, взгляните на пример Game State Management . В противном случае код может помочь вам понять, как это сделать.
(Может быть, просто базовый класс EventArgs?)
Вы должны сделать именно это.
Из документации MSDN на EventArgs :
Этот класс не содержит данных о событиях; он используется событиями, которые не передают информацию о состоянии обработчику события при возникновении события.