[英]Defining classes
我有一些大的代碼行,我想打包到定義中以便快速使用。
EventManager::get_mutable_instance().get<EventManager::KeyEvent>("KeyPressed").Call(EventManager::KeyEvent::ArgsType(localEvent.Key));
這是EventManager是單例類。 我希望只傳入定義EventManager :: KeyEvent類型和信號名稱“ KeyPressed” 。 你能幫我嗎?
由於我不喜歡定義的事實,因此我將制作一個“包裝器”功能,如下所示:
public void call(EventType type, String whatToCall) {
EventManager::get_mutable_instance().get<type>(whatToCall).Call(EventManager::KeyEvent::ArgsType(localEvent.Key));
}
編輯:未經測試的定義可能看起來像:
#define call(Type,Name) \
EventManager::get_mutable_instance().get<Type>(Name).Call(EventManager::KeyEvent::ArgsType(localEvent.Key));
Edit2:我不是很習慣於您的代碼,但是它更具可讀性和可調試性是這樣的。 (請注意,班級名稱不是您的,但希望您能明白我的意思)
Event event = EventManager::get_mutable_instance().get<type>(whatToCall);
ArgType argType = EventManager::KeyEvent::ArgsType(localEvent.Key);
event.call(argType);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.