Quale tipo di progetto C# utilizzeresti per sviluppare nuovamente un controllo activex MFC C++?

StackOverflow https://stackoverflow.com/questions/55451

Domanda

Osservando i modelli di progetto C# in VS2008 e le offerte sono Libreria di controlli utente WPF, Libreria di controlli personalizzati WPF e Libreria di controlli Windows Forms.Quale di questi utilizzeresti se volessi spostare un controllo attivo legacy scritto in C++ nel mondo di C# e .NET?

È stato utile?

Soluzione

Sembra che tu stia cercando di fare diverse cose contemporaneamente:

  1. Migra il tuo codice per creare una versione più recente di Visual Studio.
  2. Migrare il tuo utilizzo della tecnologia a una tecnologia più recente (da ActiveX a .net)
  3. Migra il tuo linguaggio (da C++ a C#).

Se disponi di una piccola base di codice, probabilmente è meglio iniziare da zero e trasferire le funzionalità nella nuova base di codice come richiesto.

Per una base di codice più ampia è necessario rendersi conto che si tratta di un compito costoso sia in termini di impegno che di tasso di difetti.

Un ordine potrebbe essere:

  1. Importa il tuo codice nella versione più recente di Visual Studio.Fallo compilare.Esaminare le impostazioni del progetto per ciascun progetto.
  2. Effettua il refactoring del codice per isolare il più possibile il codice mfc e activex.Seguire buone pratiche di refactoring soprattutto se non si hanno molti test unitari prima di iniziare.
  3. Considera la possibilità di sostituire il livello ActiveX con .net.
  4. Considera quale toolkit GUI è il migliore per sostituire MFC.
  5. Linguaggio: valuta la possibilità di passare prima al C++ gestito.
  6. Prendi in considerazione il passaggio dal C++ gestito al C#.

La cosa più importante è essere in grado di giustificare tutto quanto sopra!

Altri suggerimenti

Non esiste un modello di progetto che possa farlo per te.Potresti anche leggere e iniziare con un controllo utente.

Dovresti considerare l'applicazione di destinazione che ospiterà il controllo.Se si tratta di un'applicazione di linea di business, ho sentito che WPF non offre grandi vantaggi rispetto a Forms.Secondo Questo post di blog, tuttavia, l'autore ritiene che il killer WPF sia un'applicazione LOB che sfrutta la potenza grafica offerta da WPF per la visualizzazione dei dati.

Alla fine immagino che sia un'analisi costi/benefici.Segui il percorso WPF e paghi il costo della curva di apprendimento per il vantaggio futuro della visualizzazione grafica dei dati o rimani fedele al metodo provato e vero e rischi di sviluppare un'applicazione obsoleta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top