Этот вопрос уже имеет ответ здесь:
Я пробовал это несколько различных путей, но я сделал вывод, что он не может быть сделан. Это - функция языка, которой я пользовался с других языков в прошлом. Это - просто что-то, что я должен просто списать?
Вы можете моделировать статические индексаторы, используя статические индексированные свойства:
public class MyEncoding
{
public sealed class EncodingIndexer
{
public Encoding this[string name]
{
get { return Encoding.GetEncoding(name); }
}
public Encoding this[int codepage]
{
get { return Encoding.GetEncoding(codepage); }
}
}
private static EncodingIndexer StaticIndexer;
public static EncodingIndexer Items
{
get { return StaticIndexer ?? (StaticIndexer = new EncodingIndexer()); }
}
}
Использование:
Encoding x = MyEncoding.Items[28591]; // Equivalent to Encoding.GetEncoding(28591)
Encoding y = MyEncoding.Items["Foo"]; // Equivalent to Encoding.GetEncoding("Foo")