我实际上在挣扎泛型:)
如何访问作为泛型传递给方法的类型的属性?在任何情况下都需要使用反射吗?
例如以下课程
public class someClassA()
{
public int attributeA1;
public string attributeA2;
{
public class someClassB()
{
public int attributeB1;
public string attributeB2;
{
// Then a generic method
private TItem GetSomeData<TItem>(Guid Id) where TItem: new()
{
TItem instanceOfClass = new TItem();
// doing some data stuff
// ....
// finally group the result for better iteration
var groupedById = result.ToList().GroupBy(x =>
(x["SomeId"]))
.Select(grp => grp.ToList())
.ToList();
foreach (var item in groupedById)
{
// how can I access and set the properties of TItem -> instanceOfClass?
instanceOfClass.... = item.property1;
instanceOfClass.... = item.property2;
....
}
return instanceOfClass;
}
例如,上面的方法就是这样调用的
var data = GetSomeData<someClassA>(someId)
任何提示或建议都值得赞赏!
我已经尝试过反射,但是我不确定这是否有用。