相关疑难解决方法(0)

获得Enum价值的属性

我想知道是否可以获取枚举值的属性而不是枚举本身的属性?例如,假设我有以下枚举:

using System.ComponentModel; // for DescriptionAttribute

enum FunkyAttributesEnum
{
    [Description("Name With Spaces1")]
    NameWithoutSpaces1,    
    [Description("Name With Spaces2")]
    NameWithoutSpaces2
}
Run Code Online (Sandbox Code Playgroud)

我想要的是枚举类型,产生2元组的枚举字符串值及其描述.

价值很容易:

Array values = System.Enum.GetValues(typeof(FunkyAttributesEnum));
foreach (int value in values)
    Tuple.Value = Enum.GetName(typeof(FunkyAttributesEnum), value);
Run Code Online (Sandbox Code Playgroud)

但是如何获取描述属性的值,以填充Tuple.Desc?如果属性属于枚举本身,我可以想到如何做到这一点,但我不知道如何从枚举的值中获取它.

c# reflection enums .net-attributes

453
推荐指数
9
解决办法
27万
查看次数

将枚举传递给html.radiobuttonfor MVC3

我有一个Enum称为ActionStatus,它有两个可能的值open = 0和closed = 1

public enum ActionStatus
{
    Open,
    Closed
}
Run Code Online (Sandbox Code Playgroud)

我想在我的编辑中构建单选按钮组,并创建使用枚举来填充单选按钮的视图,其中a)创建视图中的默认值和b)编辑视图中当前选定的选项.

我需要一个扩展方法,并且有人已经创建了一个吗?

编辑:在Darins的答案之后,这是我的Model课程

namespace Actioner.Models
{
[MetadataType(typeof(MeetingActionValidation))]
public class MeetingAction
{
    [Key]
    public int MeetingActionId              { get; set; }       

    [Required]
    [Display(Name = "Description")]
    public string Description  { get; set; }

    [Required]
    [Display(Name = "Review Date")]
    public DateTime ReviewDate       { get ;set; }

    public int Status{ get; set; }

    [ScaffoldColumn(false)]
    public int MeetingId             { get; set; }


    //public virtual Meeting Meeting { get; set; }

    //public virtual ICollection<User> Users …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc enums asp.net-mvc-3

48
推荐指数
2
解决办法
3万
查看次数