¿Cómo puedo convertir el valor de la cadena al nombre de la propiedad del objeto [duplicado]?

Esta pregunta ya tiene una respuesta aquí:

C # acceder a los valores de propiedad dinámicamente por nombre de propiedad 2 respuestas

Esta es la primera vez que tengo que hacer algo como esto en C # / .NET y, de alguna manera, me recuerda lo que se puede hacer fácilmente en JavaScript mediante la función eval () o la creación dinámica de scripts y la generación de HTML. Tengo una cadena que se toma de la entrada del usuario, digamosstring input = "foo". Ahora me gustaría usar el valor"foo" como el nombre de la propiedad de un objeto que tengo, digamoscover de tal manera:

string input = "foo";
//magic to convert string value to be used
//as a object property name goes here maybe...
var success = cover.foo;

¿Hay una manera en C # que pueda hacer tal cosa? Posiblemente usando la reflexión? Lo he intentado pero siempre me devuelven un objeto que realmente no resuelve mi problema.