我想用Dictionary
中的一個通用參數存儲代表(Action),如果可能,我想避免任何代碼嗅覺 關於向下/向上轉換。如何在字典中使用不同參數存儲通用動作?
基本上我正在實現某種請求/響應回調管理器,用戶從 REST API請求某些東西,併爲我提供了一個具有正確響應對象的回調。簡而言之,用戶調用該方法看起來像這樣:
void GetUser(int id, Action<GetUserResponse> callback);
我的話,發出請求和回調保存到我的「回調管理器」。當來自服務器 的響應進入(主要是json)時,我將它解析爲一個GetUserResponse
對象並觸發回調。但有很多不同的 具有不同響應對象和回調管理器的請求必須優先考慮它們(以及其他一些東西) 而不是每個存儲該請求的回調的單個請求都有一個字典,我想 有一個存儲所有回調(和一個唯一的ID)的字典。
基本上是這樣的:(這顯然不喜歡的工作)
Dictionary<GUID,Action<T>> AllCallbacks;
這是可能的,而不必在「用戶側」投什麼?
響應對象是否有任何共同點?你能創建一個對所有人都通用的界面嗎? –
不幸沒有。根據請求,或多或少只有不同的保存數據 – zlZimon
您可以舉兩個不同請求的示例操作需要存儲的對象? –
mrahhal