借助枚举运算符实现属性

时间:2012-07-15 08:09:36

标签: c# .net properties enums

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

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

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

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:1)

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

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);
}