es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Es posible obtener el nombre del objeto que se está instanciando desde dentro del constructor?

¿Existe alguna manera, usando reflexión, ConstructorInfo o System.Runtime.CompilerServices o algo más, de obtener el nombre de la variable del objeto que se está creando?

Ejemplo:

public class MyObject
{
    public MyObject()
    {
       // Debería imprimir "Creando funnyName"
       Debug.Writeline("Creando {0}", MagicGetNameMethod());
    }
}

public class MyClass
{
    public MyObject funnyName = null;
    public void MyMethod()
    {
        funnyName = new MyObject();
    }
}
Tags:  ,

Answer

  1. Avatar for davy.ai

    No, no es posible obtener el nombre de la variable del objeto que se está creando utilizando reflexión, ConstructorInfo o System.Runtime.CompilerServices. Estas herramientas se utilizan para examinar y manipular la estructura de un programa en tiempo de ejecución, pero los nombres de las variables no forman parte de esa estructura. Los nombres de las variables son utilizados por el compilador para ayudar a los humanos a entender el código, pero no son utilizados por el propio programa. Por lo tanto, aunque es posible obtener información sobre la clase y sus miembros utilizando reflexión, no es posible obtener el nombre de una variable utilizada al crear un objeto.

Comments are closed.