Как определить имя экземпляра класса, когда я его создаю - PullRequest
3 голосов
/ 19 июля 2011

У меня есть класс с несколькими членами и свойствами, и когда я его создаю, как я могу узнать, что такое экземплярное имя во время создания?

У меня есть класс PDInt, и я создаю его экземпляр как члена, а затем перенесу этот член в свойство. Вот класс и далее следует свойство:

    public class PDInt : PDBase
{
    #region Members

    int m_Value;
    public int Value
    {
        get
        {
            return m_Value;
        }
        set
        {
            if ( m_Value != value )
            {

            }
        }
    }

    #endregion

    public PDInt()
    {
        this.Init();
    }

    public PDInt( int Value )
    {
        this.Init();
        this.Value = Value;
    }

    public PDInt( int Value, string ControlName )
    {
        this.Init();

        this.Value       = Value;
        this.ControlName = ControlName;
    }

    private void Init()
    {
        this.Value = 0;
    }

    public void Map( int Value, string ControlName )
    {
        this.Value       = Value;
        this.ControlName = ControlName;
        this.Validate    = true;
    }

    public void Map( int Value, string ControlName, bool Validate )
    {
        this.Value       = Value;
        this.ControlName = ControlName;
        this.Validate    = Validate;
    }
}

Вот член, а затем использование свойства

        PDInt m_PrescriptionID;
    public PDInt PrescriptionID
    {
        get
        {
            if ( m_PrescriptionID == null )
            {
                m_PrescriptionID = new PDInt();
            }

            return m_PrescriptionID;
        }
        set
        {
            if ( m_PrescriptionID == null )
            {
                m_PrescriptionID = new PDInt();
            }
        }
    }

Для меня было бы очень полезно иметь возможность программно определять, каково действительное экземплярное имя, чтобы я мог поместить его в строку внутри класса, к которой будет обращаться позже.

Я использую рефлексию в своем приложении и просто не могу понять, как получить имя, когда создается экземпляр класса.

Спасибо.

1 Ответ

2 голосов
/ 19 июля 2011

Если я правильно понимаю, вы хотели бы узнать в классе, какое имя экземпляра используется откуда-то еще при создании экземпляра класса?

Если это так - вы не можете. c # не позволяет этого.

EDIT:

Зачем тебе это? Может быть, у вас есть проблема, которую можно решить другим способом?

...