Tworzę system wtyczek dla mojej aplikacji i chciałbym, aby wtyczki odsłoniły ludzką czytelną nazwę. Aplikacja wyświetli listę dostępnych wtyczek, na tej liście nazwa musi być dostępna.Nadanie klasy wtyczek po ludzku czytelnej nazwie
Chcę, aby programiści wtyczek zrozumieli, co muszą zrobić, aby ich wtyczki działały.
Obecnie robię klasy wtyczek implementując interfejs, a interfejs wymaga implementacji właściwości "ConsumerName". Wymaga to jednak głównej aplikacji do utworzenia instancji każdej wtyczki, aby użyć właściwości CunsumerName, aby wyświetlić listę.
public interface IDataConsumer : IDisposable
{
string ConsumerName { get; }
void Consume(DataRowSet rows);
...
}
Czy istnieje sposób zmuszenia klas wtyczek do dostarczania metadanych bez tworzenia instancji każdego typu?
Mój plan awaryjny polega na użyciu refleksji i niektórych atrybutów na każdej klasie, ale nie sądzę, że Atrybuty mogą być wymuszone za pomocą interfejsów.
Powinieneś przeczytać nazwę wtyczki z pliku konfiguracyjnego, który pojawiłby się wraz ze wspomnianą wtyczką. – Guillaume