c# преобразование object в указанный тип

Предположим есть 2 класса MyClass1 и MyClass2, которые в целом различны, но содержат одинаковые поля (например field1 и field2).

Хочу такую функцию которая принимала бы в себя:

object, который на самом деле является MyClass1 или MyClass2

и string, в котором бы было наименование типа (MyClass1 или MyClass2).

Внутри: полученный object интерпретируется нужным образом и происходят необходимые преобразования над общими по названию полями (field1 и field2) и возвращается обратно преобразованный object. Дублировать код для обоих возможных вариантов не хотел поэтому спрашиваю..

что то типа:

public object MyFunc(object obj, string typeName)
{
    Type realType;
    if (typeName == "MyClass1")
    {
        realType = typeof(MyClass1);
    }
    else if (typeName == "MyClass2")
    {
        realType = typeof(MyClass2);
    }

    (realType)obj.field1 = 123;
    (realType)obj.field2 = 456;
    return obj;
}

но так конечно не работает. Как быть? Может какой то другой подход использовать? полей для редактирования может быть 20+потребность в том чтобы блок кода с назначением полей был универсален для обоих классов


Ответы (1 шт):

Автор решения: hkfsjvbdsfjgeffgibdh

Решил через наследование от родительского класса, а в функции перед изменением завожу экземпляр родительского класса, запихиваю в него приведенный объект и в нем меняю нужные поля

→ Ссылка