Есть ли способ использовать параметр типа в объявлении индексатора?
Я так не думаю, но прежде чем я сдаюсь и использую метод:
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
}
}