#c# #.net #generics #dictionary
#c# #.net #универсальные #словарь
Вопрос:
Как я могу добиться чего-то подобного. Мне не нужен метод, который возвращает приведенное значение, я хочу использовать this[]
возможно ли это?
public class DynamicDictionary : IDictionary<string, object>
{
public T this<T>[string key] where T : class
{
get
{
object value = null;
TryGetValue(key, out value);
return (T)value;
}
}
// ...
}
Ответ №1:
Нет, вы не можете. Индексаторы — и свойства в целом — не могут быть универсальными в C #. Вместо этого вам пришлось бы использовать метод или просто привести вызывающий код.