有没有办法在索引器声明中使用类型参数?

时间:2011-04-29 18:44:04

标签: c# indexer type-parameter

我不这么认为,但在我放弃并使用方法之前:

public T this<T>[String index]
{
    get{
        //return stuff
    }
}

我在类中没有类型参数。 我只想根据我想要的内容返回不同的类型。

例如:

myObject<String>["SavedString"]

是否有语法? (当然,我无法编译上面的任何代码。)

2 个答案:

答案 0 :(得分:3)

不,C#中的属性不能通用。事件,构造函数,变量,运算符或终结符也不是。

基本上有泛型类型和泛型方法,就是这样。

答案 1 :(得分:1)

由于属性不是通用的,所以最接近的方式是这样做:

public class SomeClass
{
    public T GetValue<T>( string key ) 
    {
         // implement logic here
    }
}