【问题标题】:Implementing properties with help of enum operator在枚举运算符的帮助下实现属性
【发布时间】:2012-07-15 08:09:36
【问题描述】:

我是 C# 的初学者。我有一个名为 config 的类,其中有一个名为 kye 的字符串字段。

当我应用该类的GET 属性时,该属性必须返回一个不同类型的变量kyeIntboolString)。

我需要在enum 运算符的帮助下实现这一点。知道我该怎么做吗?

【问题讨论】:

标签: c# .net properties enums


【解决方案1】:

据我所知,该语言中没有内置这样的东西,因此您必须手动完成。一种直接的方法是:

public object GetKye(KyeType type)
{
    switch (type)
    {
        case KyeType.String:
            return this.kye;
        case KyeType.Int32:
            return Int32.Parse(this.kye);
        case KyeType.Bool:
            return this.kye.ToLower().Equals("true");
    }
    return null;
}

【讨论】:

    【解决方案2】:

    这消除了在代码中进行强制转换的需要,但并不安全。它需要大量的错误处理。

    public T Kye<T>(KyeEnum Key)
    {
        return (T)kye;
    }
    

    或者这就是你所追求的:

    public Tuple<int, bool, string> Kye(KyeEnum Key)
    {
        return new Tuple<int, bool, string>(nKye, bKye, sKye);
    }
    

    【讨论】:

      猜你喜欢
      • 2013-03-05
      • 1970-01-01
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多