- 我具有相同的類(X)的1個... *對象。
- 對象被賦予一個爲其獲取數據的委託。
- X類的所有對象都使用相同的代理。
- X類的每個對象都需要一組不同的數據。
- 我正在使用的SDK已聲明該委託沒有參數。
我以某種方式需要檢查哪個對象是調用委託,並根據該行爲。
代碼部分1:以下部分顯示了創建類X的對象的代碼片段。如由註釋GetRows的注意被定義爲 「回調」
public void getTables() {
foreach(X currentTable in mapper.getTables()) {
MTables.Add(new X {
TableName = currentTable.getName(),
GetRows = getRows, //This is the delegate
Fields = Fields.ToArray()
});
}
}
代碼部分2: X類聲明委託這樣的:
public X.GetRowsHandler GetRows { get; set; }
public delegate IEnumerable<QvxDataRow> GetRowsHandler();
代碼部分3:這裏是用於函數「getRows」的僞代碼
private IEnumerable<QvxDataRow> getRows() {
// foreach row belonging to calling instance of class X
//yield return row;
}
第3節和第1節是在同一個類中聲明的,我們這些SDK示例。
我已經尋找了最近5個小時的解決方案,但我無法將頭圍繞代表。之前在SO上的一篇文章建議可以使用delegare.Caller,但我不明白它是如何使用的,我甚至不確定它適用於這種情況嗎?
任何建議如何處理這個?
不太清楚你在這裏要做什麼。你的問題到底是什麼? –