定义接口的方法定义
本文关键字:定义 方法 接口 | 更新日期: 2023-09-27 18:34:39
我有一个我正在设计的界面。 我们称之为"IMyInterface"。 实现 IMyInterface 的每个类都将有 N 个步骤。 我在IMyInterface中的方法之一将是GetData(int StepNumber)
。 GetData 需要返回一个 ObservableCollection,它将是某个类的集合,该类会根据我们所处的步骤而变化。 例如,如果类 ModelA 实现了 iMyInterface,而 ModelA 有 2 个步骤,则调用 ModelAInstance.GetData(1)
可能会返回一个 ObservableCollection<ClassX>
。 调用ModelAInstance.GetData(2)
可能会返回ObservableCollection<ClassY>
。 等。
出于某种原因,我在为 GetData 提出方法声明时遇到了问题。 我可以使用:
ObservableCollection<object> GetData(int StepID);
但这对我来说似乎不对。 我认为有更好的方法可以使用泛型来做到这一点,对吧?
根据现有注释,如果返回类型足以向用户指定期望从调用返回的内容,那么您应该能够在调用本身中包含该类型。
ObservableCollection<T> GetData<T>(int StepID);
在这种情况下,可以简单地这样称呼它:
ModelAInstance.GetData<ClassX>(1);
ModelAInstance.GetData<ClassY>(2);
在这一点上,我想知道步骤号是否不再需要(当然,除非它用于方法中的其他逻辑(。
编辑:笨拙的我。 我没有注意到链接的额外评论。 如果这个解决方案有效,我听从迈克,他在我之前的评论中提供了相同的答案。