【发布时间】:2015-02-15 18:01:51
【问题描述】:
我需要实现这个方法:Reflectable reflect<T>(IEnumerable<T> src)
但我很难获得预期的输出。
希望有人能帮助我,谢谢。
这里是Reflectable接口:
interface Reflectable : IEnumerable<string> { Reflectable Prop(string propName);}
和预期的输出:
IEnumerable<Student> stds = //Students
IEnumerable<String> r1 = reflect(stds).Prop("Id");
IEnumerable<String> r2 = reflect(stds).Prop("Name").Prop("Id").Prop("Age");
IEnumerable<String> r3 = reflect(stds);
r1.ToList().ForEach(Console.Write); // {3213}{3124}{35454}...
r2.ToList().ForEach(Console.Write); // {Jose, 3213, 89}{Maria, 3124, 34}{Prominencia, 35454, 23}...
r3.ToList().ForEach(Console.Write); // {}{}{}...
【问题讨论】:
-
我需要实现反射方法来获取评论中的输出,但我不知道如何。
-
您认为“扩展方法”是什么?因为我在这里找不到。
-
我认为 Prop() 是 Reflect 的扩展方法
-
IEnumerable<String> r2 = reflect(stds).Prop("Name").Prop("Id").Prop("Age");不可能。如果reflect返回IEnumerable<String>,则无法连接。 -
您的问题似乎是关于反射/反射的。 Prop() 可能是一个扩展方法,但不清楚是什么类型。
标签: c# reflection extension-methods