2011-04-29 57 views
0

我不这么认为,但在此之前我放弃了和使用方法:有什么办法在索引器声明中使用类型参数吗?

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

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

例如:

myObject<String>["SavedString"] 

是否有一个语法? (我当然不能编译上面的任何代码)。

回答

3

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

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

1

由于性能不能通用,你会得到最接近的办法,就是像这样做:

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