Есть ли способ использовать параметр типа в объявлении индексатора?

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

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

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

например:

myObject<String>["SavedString"]

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

2 ответа

Решение

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

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

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

public class SomeClass
{
    public T GetValue<T>( string key ) 
    {
         // implement logic here
    }
}
Другие вопросы по тегам