如何使用get / set将值设置为类中的另一个变量?

时间:2018-09-10 15:37:33

标签: c#

我基本上是在尝试将ID设置为与EventID相同。两者都需要能够打印到屏幕上。是否可以使用这样的东西:

public class Event
{
    public string EventID { get; set; }
    public string id
    {
        get { return id; }
        set { id = EventID; }
    }
}

static void main(string[] args)
{
    Event event = new Event();
    event.EventID = "something";
    Console.WriteLine(event.EventID);
    Console.WriteLine(event.id);
}

谢谢

2 个答案:

答案 0 :(得分:3)

您可以为同一字段创建两个属性,如下所示:

public class Event
{
    string _id;
    public string EventID {
        get {return _id;}
        set {_id = value;}
    }
    public string Id
    {
        get {return _id;}
        set {_id = value;}
    }
}

另一种方式是@PatrickRoberts提到的方法:

public class Event
{
    public string EventID {get;set;}

    public string Id
    {
        get {return EventID ;}
        set {EventID = value;}
    }
}

答案 1 :(得分:0)

如果id始终等于EventId,则可以将id设为只读属性

public class Event
{
    public string EventID { get; set; }
    public string id { get { return EventId; } }
}

另一种可能的情况是,如果在设置id时需要设置EventID,但是此后它也可以独立变化:

public class Event
{
    private string _eventID;

    public string EventID 
    { 
        get { return _eventID; } 
        set { _eventID = id = value; }
    }

    public string id { get; set; }
}