0

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

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

我在类中没有类型参数。我只想根据我想要得到的返回一个不同的类型。

例如:

myObject<String>["SavedString"]

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

4

2 回答 2

3

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

基本上有泛型类型和泛型方法,仅此而已。

于 2011-04-29T18:45:40.677 回答
1

由于属性不能是通用的,因此您要获得的最接近的方法是这样做:

public class SomeClass
{
    public T GetValue<T>( string key ) 
    {
         // implement logic here
    }
}
于 2011-04-29T18:56:39.760 回答