【发布时间】:2021-12-02 23:46:59
【问题描述】:
任务:
-
使用一个名为 IBoolS 的方法创建一个名为 IBoolS 的公共接口 GetBools:参数int N,返回值IEnumerable。
-
创建一个名为 Generator 的公共类来实现这个接口 具有名为 ValueToGenerate 的布尔属性和 GetBools 这里的方法应该返回N个ValueToGenerate。
这是我迄今为止尝试过的:
IBoolS.cs:
public interface IBoolS
{
public IEnumerable<bool> GetBools(int N)
{
//what goes here? yield return something, but what?
}
}
Generator.cs:
public class Generator : IBoolS
{
private bool ValueToGenerate;
//GetBools(N pieces of ValueToGenerate);, but should be an integer number
}
【问题讨论】:
-
没有任何东西进入界面。它只是定义了方法的签名,没有别的
-
@ThomasWeller 从 C# 8.0 开始就有可能(默认实现)
-
也许吧。这个任务看起来像一个编程作业,侧重于早期学期的编程语言知识。 @Akuhei,如果您想了解大多数现代 C# 8.0 的内容,请提及。
-
@SirRufo 虽然它是真的(自 C# 8.0 起),但我仍然不使用它,也不推荐使用它。在我看来(并且要有一个不混淆的约定),接口应该只是契约,如果需要,默认实现可以进入抽象或非抽象基类。
-
不,这真的只是一个编程作业。那么我应该在界面中只写这个吗?公共 IEnumerable
GetBools(int N);
标签: c# .net ienumerable yield-return