使用枚举值作为属性

时间:2015-07-22 13:02:34

标签: c# wpf enums

我在下面有一个枚举:

private enum MovieData { Name, Type, Size, Description, ReleaseDate };

现在我想使用枚举值作为属性名称

public string MovieData.Name
    {
        get
        {
            return name;
        }
        set
        {
            name = value;                                
        }
    }

其他人相同,name是属性。 all的返回类型应该是string,我想只使用Name而不是MovieData.Name

来访问该属性

我该怎么做?

2 个答案:

答案 0 :(得分:2)

我不确定你的问题是什么,但正如@crashmstr评论的那样......你似乎不需要一个Enum,但你只需要一个类来保存这些属性

任何方式你都可以使用但它不是一个好的实践 我不知道你想要setter做什么

public string Name
        {
            get
            {
                return MovieData.Name.ToString();
            }
        }

        public string Type
        {
            get
            {
                return MovieData.Type.ToString();
            }
        }

        public string Size
        {
            get
            {
                return MovieData.Size.ToString();
            }
        }

        public string Description
        {
            get
            {
                return MovieData.Description.ToString();
            }
        }

        public string ReleaseDate
        {
            get
            {
                return MovieData.ReleaseDate.ToString();
            }
        }

答案 1 :(得分:0)

您想要string还是enum

private class SomeClass
{
    private MovieData _data;

    public MovieData Data { get { return _data; } set { _data = value; } }
    public string DataString 
    { 
        get { return _data.ToString(); }
        set {
            switch (value){
                case "Name":
                    _data = MovieData.Name;
                    break;
                case "Type":
                    _data = MovieData.Type;
                    break;
                // etc.
            }
        }
    }
}

但我仍然不清楚你在问什么。