1
private void RegisterObjectEvents(XElement xelement, XtraForm form)
{
XElement fEventElement = xelement.Element("ObjectEvents");
if (fEventElement != null)
{
var fSubElement = fEventElement.Elements();
foreach (var item in fSubElement)
{
if (!IsformEvent(item.Name.ToString()))
{
Control control = null;
for (int i = 0; i <= fObjectList.Count - 1; i++)
{
if (fObjectList[i].Name == GetObjectNameFromString(item.Name.ToString()))
{
control = fObjectList[i];
break;
}
}
if (control != null)
{
EventInfo ei = control.GetType().GetEvent(GetEventNameFromString(item.Name.ToString()));
EventHandler del = (o, args) => ExecuteLua(item.Value, o, args);
ei.AddEventHandler(control,del);//getting exception here
}
}
}
}
}
public void ExecuteLua(string luastring,object sender , EventArgs e)
{
try
{
Lua.LoadCLRPackage();
Lua["sender"] = (Control)sender;
Lua["eventarg"] = e;
Lua["viewer"] = this;
Lua["form"] = this.WinForm;
Lua.DoString(luastring);
}
catch (Exception exp)
{
MessageBox.Show(exp.Message.ToString());
}
}
Я пытаюсь читать объекты управления и информацию о событии из XElement и регистрации событий выполнения управления. Но получение«System.EventHandler» до «» DevExpress.XtraEditors.Controls.ChangingEventHandler новообращенного ошибки
'System.EventHandler' to DevExpress.XtraEditors.Controls.ChangingEventHandler 'exception exception.
Как это исправить?
Я не вижу декларацию 'fObjectList' – Phate01
Он уже определен и создан в class.I не послал его, вызвать не так важно .. –