Si, lo que buscas es una propiedad de algunos lenguajes llamada reflexión, es decir la capacidad de acceder a las propiedades y métodos de los objetos que maneja, la encuentras en .NET, la encuentras en java. Haciendo una búsqueda rápida encontré
este ejemplo, que espero aclare tus dudas.