Получить и установить значения свойств универсального типа - PullRequest
0 голосов
/ 02 мая 2019

Я на самом деле борюсь с дженериками:)

Как я могу получить доступ к свойствам типа, переданного как универсальный в метод?Нужно ли использовать отражение в любом случае?

Например, следующий класс

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)

Любая подсказкаили совет высоко ценится!

Я уже пробовал с отражением, но я не уверен, полезно это или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...