Obtener el nombre de la cadena de propiedad usando la reflexión

Existe una gran cantidad de ejemplos de reflexión que le permiten obtener:

1. Todas las propiedades en una clase

2. Una sola propiedad, siempre que conozca el nombre de la cadena

¿Hay alguna manera (usando la reflexión, TypeDescriptor u otro) para obtener el nombre de cadena de una propiedad en una clase en tiempo de ejecución, siempre que todo lo que tengo es una instancia de la clase y la propiedad?

EDITAR Sé que puedo obtener fácilmente todas las propiedades en una clase usando la reflexión y luego obtener el nombre de cada propiedad. Lo que solicito es una función para darme el nombre de una propiedad, siempre que le pase la instancia de la propiedad. En otras palabras, ¿cómo puedo encontrar la propiedad que quiero de la matriz PropertyInfo [] que me devolvió la clase.GetType (). GetProperty (myProperty) para poder obtener el PropertyInfo.Name?

Respuestas a la pregunta(7)

Su respuesta a la pregunta