定义接口的方法定义

本文关键字:定义 方法 接口 | 更新日期: 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);

在这一点上,我想知道步骤号是否不再需要(当然,除非它用于方法中的其他逻辑(。

编辑:笨拙的我。 我没有注意到链接的额外评论。 如果这个解决方案有效,我听从迈克,他在我之前的评论中提供了相同的答案。