gpt4 book ai didi

c# - 为接口(interface)定义方法定义

转载 作者:行者123 更新时间:2023-11-30 16:56:46 25 4
gpt4 key购买 nike

我有一个正在设计的界面。我们称它为“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);

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

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

关于c# - 为接口(interface)定义方法定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27528669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com