Есть ли способ использовать параметр типа в объявлении индексатора? - PullRequest
0 голосов
/ 29 апреля 2011

Я так не думаю, но прежде чем я сдаюсь и использую метод:

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

У меня нет параметра типа в классе. Я просто хочу вернуть другой тип в зависимости от того, что я хочу получить.

например:

myObject<String>["SavedString"]

Есть ли синтаксис для этого? (Конечно, я не могу скомпилировать любой из приведенного выше кода.)

Ответы [ 2 ]

3 голосов
/ 29 апреля 2011

Нет, свойства не могут быть общими в C #.Также не могут быть события, конструкторы, переменные, операторы или финализаторы.

В основном, есть универсальные типы и универсальные методы, и все.

1 голос
/ 29 апреля 2011

Поскольку свойства не могут быть общими, самый близкий путь, который вы получите, это сделать так:

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