基本上我已经运行时加载的类,看起来像这样:是否有一个可以与传入的KeyEventArgs匹配的热键的.NET类?
[Plugin("Plugin name")]
class PluginActions
{
[Action("Flip Normals")
public void FlipNormals()
{
// code ....
}
[Action("Export .X object")
public void ExportX()
{
// code ....
}
}
这基本上增加了按键与建立的onClick事件处理器形式。
现在我想使用属性来指定在同一样式的快捷键:
[Plugin("Plugin name")]
class PluginActions
{
[Action("Flip Normals", Hotkey = "Ctrl+N")
public void FlipNormals()
{
// code ....
}
[Action("Export .X object", Hotkey = "Ctrl+E")
public void ExportX()
{
// code ....
}
}
是,如何表示和捕捉热键的问题?作为字符串?这可能是一个班级吗?
void Form_KeyDown(object sender, KeyEventArgs e)
{
// reflection magic ...
foreach(var action in actionAttributes)
{
string action_hotkey = action.hotkey;
/**** How to match KeyEventArgs against action_hotkey? ****/
}
}
是否有一个处理热键的.NET辅助类?
还是我必须推出我自己的某种热门课程?
这里的正确方法是什么?