代码之家  ›  专栏  ›  技术社区  ›  scoob

为自定义组件中的枚举添加下拉列表

  •  2
  • scoob  · 技术社区  · 15 年前

    我正在创建.net Webtest自定义提取规则。我希望我的用户能够从visualstudio的Property Edit视图中的下拉列表中选择枚举值。

    我可以定制integer/string属性的DisplayName、Description和defaultvalue,而不会有问题。但是,我无法使枚举值显示在属性编辑器中。

    你怎么能这么做?

    例子:

    public Enum FooBarEnum
    {
       Foo,
       Bar,
       FooBar,
       BarFoo
    }
    
    public class CustomExtractionRule : ExtractionRule
    {
    
        [DescriptionAttribute("Description...")]
        [DisplayNameAttribute("Display Name...")]
        [DefaultValue("foo")]
        public String Param1
        {
           get; set;
        }
    
        [DisplayNameAttribute("Display Name...")]
        //[  how do I Make it appear as a  drop down list!!]
        public FooBarEnum Param2
        {
           get; set;
        }
    
    
        public override void Extract(object sender, ExtractionEventArgs e)
        {
            ...
        }
    
    }
    

    如果我编译这个,我将在提取规则的属性编辑器中看到Param1属性。。。但它不会显示枚举。。。我怎样才能把它绑起来?

    谢谢,

    1 回复  |  直到 15 年前
        1
  •  0
  •   elder_george    15 年前

    您可以尝试创建ObjectSelectorEditor类型的子类,并将其传递给属性上的[EditorAttribute]集。