asp.net MVC动态配置/ ui

问题描述

我有实现IPlugin的插件(IMenuPlugin,IThemePlugin等)。我希望能够让每个插件为我的应用程序提供可配置的属性,这些属性将被我的应用程序使用并为其提供编辑/更新UI。 我的想法是让每个实现都提供IEditable列表(由接口定义)。每个可编辑项都将提供模板的名称(EditorFor()等)。然后,我想枚举所有这些对象,呈现模板,然后将值发布回控制器以保存插件的值。 你的想法?现在有类似的东西吗?     

解决方法

        我猜想这与您的提议类似,但是我对措辞感到困惑。 我要说的是,您应该简单地为
IPluginProperty
创建另一个接口,然后向
IPlugin
中添加一个
IPluginProperty
的只读集合。然后,“ 0”接口可以具有一个属性来为该属性提供“ 4”:
public interface IPluginEditor
{
    // interface members
}

public interface IPluginProperty
{
    IPluginEditor Editor { get; }

    // Rest of interface members
}

public interface IPlugin
{
    IEnumerable<IPluginProperty> Properties { get; }

    // Rest of interface members
}