У меня есть два класса с похожими полями:
Class Foo {
string name;
int val;
};
Class Bar {
string name;
int val;
};
Есть ли способ использовать Generics для получения имен полей и значений объектов этих классов? Что-то вроде:
string GetName<T> (T obj)
{
//returns T.name
}
Я хочу убедиться, что для этого есть проверки времени компиляции, на случай, если поля класса будут изменены.
Обновление:
Я не контролирую определения классов Foo и Bar. Они будут выставлены мне в библиотеке и могут измениться.
Я могу использовать что-то вроде следующего:
Type myType = myObject.GetType();
var value = myType.GetProperty("name").GetValue(myObject, null);
Но я не думаю, что это будет проверяться во время компиляции.