Como representar “opções” para minha arquitetura de plugin (C# .NET WinForms)
Pergunta
Ok, basicamente é aqui que estou.
Eu tenho uma lista de Descritor de propriedade objetos.Eles descrevem os campos personalizados "Opções" em meus plug-ins, também conhecidos como:
public class MyPlugin : PluginAbstract, IPlugin
{
[PluginOption("This controls the color of blah blah blah")]
[DefaultValue(Color.Red)]
public Color TheColor { get; set; }
[PluginOption("The number of blah blah blahs")]
[DefaultValue(10)]
public int BlahBlahBlahs { get; set; }
}
Então eu fiz todas as partes difíceis:Eu tenho todas as descrições, valores padrão, nomes e tipos dessas "opções de plugin" personalizadas.
MINHA PERGUNTA É:Quando um usuário carrega um plugin, como devo representar essas opções para ele configurar?No back-end usarei XML para a configuração, então não é isso que estou perguntando.Estou perguntando no front-end: Que tipo de controle WinForms devo usar para permitir que os usuários configurem as opções de um plugin, quando haverá uma quantidade desconhecida de opções e diferentes tipos usados, etc.?
Solução
Eu sempre usei o Winforms integrado padrão PropriedadeGrid.Funciona bem para diferentes tipos de propriedades e também para números variados.