将方法转换为getter

时间:2010-07-12 08:12:35

标签: c# generics

我有一个返回元素的泛型方法(在非泛型类中)。

    public IEnumerable<T> GetElements<T>() where T : class
    {
        foreach (Element element in elements)
        {
            if (element is T)
            {
                yield return element as T;
            }
        }
    }

我想在getter方法中转换此函数并尝试类似

的方法
    public IEnumerable<T> Elements<T>
    {
        get
        {
            foreach (Element element in elements)
            {
                if (element is T)
                {
                    yield return element as T;
                }
            }
        }
    }

这不会编译:{{1​​}}

有人知道问题在这里吗?

感谢

1 个答案:

答案 0 :(得分:7)

属性不支持通用参数。

实现此类目的的唯一方法是为封装类型提供泛型类型参数。