Я использую Reflection для установки значения свойства через PropertyInfo.SetValue(); Рассматриваемое свойство представляет собой строку, а объект, из которого я получаю значение, на самом деле является идентификатором GUID. Я хотел бы преобразовать GUID в строку в процессе - есть ли способ определить какое-то неявное приведение, которое позволит это сделать? На данный момент я получаю сообщение об ошибке:
"Object of type 'System.Guid' cannot be converted to type 'System.String'."
Я думаю, я мог бы сделать проверку типов и вручную преобразовать, если это необходимо, но если есть элегантный способ сделать это за кулисами, то это было бы предпочтительнее!
Большое спасибо.
Редактировать: я не могу просто вызвать метод .ToString() для GUID, поскольку мне бы очень хотелось, чтобы мой код выглядел так:
propertyInfoInstance.SetValue(classInstance, objectWithValue, null)
где objectWithValue — это int/bool/string/GUID. Это отлично работает для всего, кроме GUID, поскольку (я думаю!!) доступно неявное приведение. Я мог бы заранее проверить тип и просто преобразовать GUID в строку, но у меня просто возникает ощущение «Должен быть лучший способ...».