我正在使用這樣的接口:接口和索引
var descr = new IMyInterface[3];
在我以爲這樣做沒有任何意義,因爲它看起來像一個接口被實例化(這ISN」乍一看可能)。所以我認爲這可能是對界面中定義的索引器的調用,但我仍然不太明白這是如何工作的。所以我的問題是:
- 這是什麼叫做?它是否調用界面中定義的索引器?
- 界面的索引器正在使用什麼實現?
感謝您的幫助:)
我正在使用這樣的接口:接口和索引
var descr = new IMyInterface[3];
在我以爲這樣做沒有任何意義,因爲它看起來像一個接口被實例化(這ISN」乍一看可能)。所以我認爲這可能是對界面中定義的索引器的調用,但我仍然不太明白這是如何工作的。所以我的問題是:
感謝您的幫助:)
您正在創建的3 IMyInterface
數組......但每一個項目是數組中無效。
哈哈,我們只是想出了它。很尷尬。我們讀到它太多關於索引器的想法,而不是。感謝您的幫助:) –
它創建了一個包含三個元素的IMyInterface
數組。即IMyInterface[]
。這只是陣列創建的通常的new T[n]
語法,與new int[3]
沒有什麼不同。
從概念上講,它與new Array<IMyInterface>(3)
類似,但由於歷史原因數組不是通用類型。
數組是一個具體類,所以即使成員類型是接口,也可以創建它的一個實例。成員將初始化爲default(T)
,即null
的接口。
這與索引器無關。
可以在接口上定義索引器,就像你可以在類上一樣。但使用它們的語法不涉及new
。
也可以在某些COM相關方案中實例化接口。
謝謝你的幫助。我們只是自己想清楚了。如果你想一會兒,這是非常明顯的。我們正在閱讀它太多哈哈。謝謝 :) –
也許你還應該解釋你的目標,以幫助你糾正語法。 –