StringConverter в плагине

Я разрабатываю программное обеспечение, которое использует плагины. Это шаблоны зданий. Возможные решения фонда в dlls один за другим. При управлении имуществом фундамента здания можно выбрать из списка типов фундамента. Создание списка строк выглядит следующим образом:

    private string kindOf;                                          
    [TypeConverter(typeof(FileNames4Foundation)), CategoryAttribute("Foundation"), Description("Foundation pattern")]
    public string KindOf
    {
        get { return kindOf; }
        set
        {
            kindOf = value;
            Update();                       //update foundation
            RegistryWorks.WriteString("Foundation.KindOf", kindOf); //store setting up to the registry
        }
    }

TypeConverter выглядит так:

    public class FileNames4Foundation : StringConverter
{
    public string[] GetNames()
    {
        List<string> names = Utils.GetNames("\\RibbonPages\\Polygon\\Pattern\\Foundation\\", "dll");
        return names.ToArray();
    }
    public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
    {
        return true;
    }
    public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
    {
        List<string> names = Utils.GetNames("\\RibbonPages\\Polygon\\Pattern\\Foundation\\", "dll");
        return new StandardValuesCollection(GetNames());
    }
}

Это решение работает абсолютно правильно.

Теперь мне пришлось изменить систему программ, как показано ниже. До сих пор различные типы зданий были исправлены в программном коде. В новой системе типы зданий будут загружаться в основную программу из плагинов. Схема следующая:

Main program
- Mobil type facility plugin
    - 
    - 
- Polygon type facility plugin
    - Foundation
        - Bar plugin
        - Foot plugin
        - Slant plugin
    - Slab
        - Cantilever plugin
        - Normal plugin
    - Roof
        - Mansard plugin
        - Pitched plugin
- Tower type facility plugin
    -
    -

Изменение приводит к тому, что список плагинов с обработанными плагинами в свойствах не работает. При отладке мы видим, что программа не запускалась до части "StringConverter". Я хотел бы, чтобы чтение свойств плагинов работало и в новой системе. Заранее спасибо за вашу помощь!

0 ответов

Другие вопросы по тегам