获取和设置属性值的泛型类型

时间:2019-05-02 14:54:52

标签: c# generics properties

我实际上在挣扎泛型:)

如何访问作为泛型传递给方法的类型的属性?在任何情况下都需要使用反射吗?

例如以下课程

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)

任何提示或建议都值得赞赏!

我已经尝试过反射,但是我不确定这是否有用。

0 个答案:

没有答案