我正在做一个练习,但我在理解如何开始时遇到了一些困难。练习如下所示:
给定接口
public interface I { T P {get;} }
编写一个扩展方法“Indexing”,给定一个类型为“I”的元素数组“s”,其中“T”是一个只能用枚举类型实例化的参数,它将生成一个字典,它将类型为“T”的每个值“v”与“s”元素的子序列“s”相关联,其中“v”作为调用该方法时“P”属性的值。
例如,通过使用 *enum Day { Mo, Tu, We, Th, Fr } *,如果“arr”是一个数组 [e0, e1, e2, e3, e4, e5] 其中:
e0 - ... P == Day.Mo ...
e1 - ... P == Day.Mo ...
e2 - ... P == Day.We ...
![图片[1]-练习:给定接口编写扩展方法“Indexing”属性的值-唐朝资源网](https://images.43s.cn/wp-content/uploads//2022/06/1655799111615_1.png)
e3 - ... P == Day.Mo ...
e4 - ... P == Day.Fr ...
e5 - ... P == Day.We ...
你会得到:
var res = arr.Indexing ();
for (int i = 1; i
// even changing arr is still true that
// res[Day.Mo] == [e0 , e1 , e3]
// res[Day.Tu] empty array
// res[Day.We] = [e2 , e5]
![图片[2]-练习:给定接口编写扩展方法“Indexing”属性的值-唐朝资源网](https://images.43s.cn/wp-content/uploads//2022/06/1655799111615_4.jpg)
// res[Day.Th] empty array
// res[Day.Fr] = [e4]
我不想要一个完全解决的练习,但我需要一个提示才能让事情正常进行。我想我错过了有关 I 实施的一些东西(这是我第一次看到这样的事情)。特别是,我对如何创建扩展方法以及如何测试给定示例有疑问。
提前致谢。
© 版权声明
本站下载的源码均来自公开网络收集转发二次开发而来,
若侵犯了您的合法权益,请来信通知我们1413333033@qq.com,
我们会及时删除,给您带来的不便,我们深表歉意。
下载用户仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,访问及下载者下载默认同意本站声明的免责申明,请合理使用切勿商用。
THE END
暂无评论内容