如果我傳遞了一個實現接口的類的實例,我不一定知道確切的類型。如果我要創建這個類(不管它可能是)的數組,我可以這樣做是這樣的:如何在不知道類型的情況下初始化數組中的項目?
IWhatever[] ArrayOfClass = (IWhatever[])Array.CreateInstance(InstanceOfClass.GetType(), length);
只要InstanceOfClass是實現IWhatever一個類的實例,這個工程。我不知道如何初始化數組的成員。我認爲new IWhatever()
可能會起作用,但事實並非如此。
如何構建數組的成員?
數組差異不好,請不要使用它! –
爲什麼不使用'new IWhatever [length]'來創建數組本身?這將能夠保存與'InstanceOfClass'具有相同類型的對象。 –
Ben Voigt在如何創建arrray方面是正確的,但添加項目時必須使用實現接口的類。許多人喜歡使用Factory方法來創建這些方法,但是我發現那種單調乏味,只是在需要它們的地方使用常規構造函數(除非需要大量計算才能調用構造函數,然後淺顯我的驕傲並使用工廠) –