Рассмотрено как создавать алиасы системных/пользовательских типов для параметров на форме ограничений с помощью статического делегата

Описание

Существует возможность создавать алиасы (псевдонимы, синонимы, типы русским языком :) системных / пользовательских типов для параметров на форме ограничений.

Для этого в main() методе приложения мы определяем статический делегат EditAdvansedFilter1.TypeToString = …, имеющий следующую сигнатуру:

’‘public delegate string TypeToStringDelegate(System.Type type)’’

В этом делегате задается метод, который принимает на вход .Net тип (системный / пользовательский), и возвращает его строковое представление для отображения. Метод должен возвратить ‘‘null’’, если для данного типа соответствие не установлено.

Пример использования:

static void Main()
{
  ...
  EditAdvansedFilter1.TypeToString = MyStringViewForSpecificType;
  ...
}

private static string MyStringViewForSpecificType(Type type)
{
  if (type == typeof(string))
    return "строка";

  if (type == typeof(Планета))
    return "ПланетаОбезьян";
             
  return null;
}