加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

是否可以根据C#中键/值对的键具有值类型?

发布时间:2020-12-15 21:07:32 所属栏目:百科 来源:网络整理
导读:让我举一个简单的例子来更好地理解问题 图书馆拥有: enum Keys{ [Description("Color select")] ColorSelection,[Description("Day select")] DaySelection,[Description("Gender select")] GenderSelection}enum Color{ [Description("White color")] Whit
让我举一个简单的例子来更好地理解问题

图书馆拥有:

enum Keys
{
    [Description("Color select")]
    ColorSelection,[Description("Day select")]
    DaySelection,[Description("Gender select")]
    GenderSelection
}


enum Color
{
    [Description("White color")]
    White,[Description("Black color")]
    Black,[Description("Brown color")]
    Brown
}
enum Day
{
    [Description("Monday")]
    Monday,[Description("Tueday")]
    Tuesday,[Description("Wednesday")]
    Wednesday
}

enum Gender
{
    [Description("Male gender")]
    Male,[Description("Female gender")]
    Female            
}

来自客户我希望如下:

Dictionary<Keys,??> values = new Dictionary<Keys,??>();

values.Add(Keys.ColorSelection,<Auto suggest color>);
values.Add(Keys.DaySelection,<Auto suggest day>);

我可以修改库以使值列表为Enum但是,我希望客户端根据键自动建议使用过滤器的值.

注意:
????1.我不希望Class(Model)具有属性作为相应的类型,因为库中有很多可用的键,客户端会选择少量并提供值.
????2.我不能单独将值作为List< Values>因为某些情况与具有不同键的值具有相同的描述.例如:“是/否值将与不同的键相同”

有什么建议?提前致谢..

解决方法

您可以将字典声明为:

var dictionary = new Dictionary<Keys,int>();

然后使用一个方法将其封装在您自己的自定义类中,该方法使用键的Keys值来使用相应的枚举来解释值.

这里的整个问题看起来像代码味道.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读