Come posso evitare un requisito SDK per un utente finale a meno che non usi una funzione specifica?

0

Una delle modalità del mio programma utilizza Microsoft Kinect ma l'utente non può mai decidere di utilizzare quella modalità. Voglio fare in modo che le librerie per quella funzionalità vengano solo cercate e caricate se usa quella modalità del programma invece di lanciare un errore perché la libreria di runtime utente finale kinect (o qualsiasi altra cosa si chiama) non è installato quando il programma viene aperto per la prima volta. È possibile in C #? Se sì, come è fatto?

    
posta user2514676 25.04.2015 - 14:53
fonte

1 risposta

0

Lo facciamo continuamente sul nostro software. Tutto quello che devi fare è assicurarti che tutti i riferimenti a quella libreria siano in una classe diversa che viene sempre chiamata solo quando l'opzione è abilitata. I pensa anche tu devi avere le tue classi in un file .cs separato in modo che anche le istruzioni using siano isolate. (Non lo so per certo dato che manteniamo tutte le nostre classi in file separati per policy.)

public class Application {
    public void InitOptions {
        if(optionWithThirdPartyDependency) {
            OptionalFunctionality.InitFeature();
        }
    }
}

In un diverso file .cs ....

using ThirdPartyLibrary

public class OptionalFunctionality {
    public static void InitFeature() {
        <init the feature using ThirdPartyLibrary>
    }
}
    
risposta data 25.04.2015 - 18:04
fonte

Leggi altre domande sui tag