Le applicazioni WPF sono, in sostanza, le applicazioni gestite? Right? Quindi, devo scegliere tra usare C++ gestito o C# gestito. Ho sperimentato con C++ gestito anni fa. Sembrava non essere pronto per il primetime. Immagino che Microsoft abbia dedicato più sforzi al C# gestito rispetto al C++ gestito. Quindi, sembra che usare C# gestito sia la migliore alternativa tra i due. È questo il caso? Quali esperienze hai avuto con WPF in entrambe le lingue? Grazie in anticipo.Un'applicazione WPF dovrebbe essere scritta in C++/CLI o C#?
risposta
Managed C++ è stato sostituito da C++/CLI e "managed C#" è solo C#.
Si consiglia vivamente di utilizzare C# per un nuovo progetto e utilizzare C++/CLI solo quando necessario. C# ha un supporto migliore, ha una base di utenti più ampia ed è più facile lavorare con Visual Studio 2010.
Inoltre, tenere presente che C++ e C++/CLI sono due lingue diverse. Per il mio primo progetto .Net, ho scelto C++/CLI perché conoscevo già il C++ e questa era una pessima idea: la curva di apprendimento da C++ a C++/CLI è simile all'apprendimento di C# da C++: non cadere in quella trappola .
In termini di back-end, entrambi funzionano sul CLR ed entrambi sono in grado di funzionare. In realtà si tratta solo di cosa ti senti più a tuo agio. Se non sei sicuro, sperimenta con entrambi. Usa quello che sembra più produttivo.
Edit:
Come è stato appena mi ha fatto notare, però, sembra che il supporto per i modelli WPF (e forse anche IntelliSense) solo che non è lì per C++. Quindi in quel caso credo che dovrei raccomandare C#.
C# è il più utilizzato, quindi se avete problemi, c'è più supporto online per C#. C# ha anche il miglior supporto di Microsoft. In generale, è solo un prodotto più rifinito, anche adesso. Se davvero non ti importa, andrei con C#.
Non vero.C++/CLI * è * un prodotto finito e meraviglioso, specialmente con le specifiche C++ 0x e la possibilità di utilizzare librerie di template di solo header C++. Tuttavia, raramente è lo strumento giusto per il lavoro. –
Penso che il C++ sia migliore per i giochi, dove è necessario raggiungere spesso un livello base. WPF sta provando a fare l'oposite esatto; 'allontanati dal disegno e lasciami fare tutto per te'. C# si adatta meglio a questo concetto. –
È possibile utilizzare il C++ gestito per il proprio back-end ma, in fase di ispezione, VS (sto utilizzando 2010 Ultimate) non ha alcun modello incorporato per un'applicazione WPF C++ - solo C# o VB.
Sono sicuro che lo potrebbe forzarlo a funzionare se si desidera, ma io suggerirei di utilizzare C#.
C++/CLI è stato creato solo per supportare la scrittura di livelli di interoperabilità tra codice non gestito (cioè C/C++ nativo) e codice gestito. Per "sollevamento pesi", si dovrebbe assolutamente usare C# (o VisualBasic.NET).
IMO senza dubbio C# (o VB/F #).
C++/CLI è ottimo quando si attraversa il confine del mondo gestito e una libreria C++. La complessità è più alta anche se le questioni sottili derivano dal fatto che si combina un linguaggio gestito e un non gestito.
I tempi di compilazione sono più lunghi anche in C++/CLI, soprattutto perché i modelli di codice sono modellati su come il compilatore C# non funziona su come funziona il compilatore C++.
- 1. dove dovrebbe essere "incluso" essere inserito in C++
- 2. L'istruzione using C# può essere scritta senza le parentesi graffe?
- 3. Rspec: dovrebbe essere (questo o quello)
- 4. L'IBOutlet dovrebbe essere debole o forte?
- 5. Dovrebbe essere una WebAPI o asmx
- 6. Dovrebbe essere usato `! Var` o` var == NULL`?
- 7. Un temporizzatore C++ dovrebbe essere costante?
- 8. ASP.Net o WPF (C#)?
- 9. C#: Come dovrebbe essere implementato ToString()?
- 10. Dovrebbe essere in un namespace?
- 11. Il servizio WCF in genere dovrebbe essere singleton o no?
- 12. Questo algoritmo dovrebbe essere eseguito in O (n)?
- 13. Che cosa dovrebbe essere usato per verificare l'identità in C++?
- 14. Dove dovrebbe essere Android.mk?
- 15. quanto dovrebbe essere breve una funzione?
- 16. Quale dovrebbe essere il tipo iteratore in questo modello C++?
- 17. quale dovrebbe essere l'output di un lexer in c?
- 18. Swift: ViewModel dovrebbe essere una struttura o una classe?
- 19. Libreria di evidenziazione della sintassi scritta in C/C++
- 20. dovrebbe essere chiuso Class.getResourceAstream?
- 21. Cosa dovrebbe essere hadoop.tmp.dir?
- 22. Come creare un'animazione di caricamento nell'applicazione console scritta in C++?
- 23. Cosa dovrebbe sapere un esperto C# /. Net/WPF?
- 24. L'intestazione "Data" dovrebbe essere l'ora locale del mittente o UTC?
- 25. Cosa C++ caratteristiche dovrebbe essere evitato per lo sviluppo embedded
- 26. La proprietà NSString di ARC dovrebbe essere forte o copiata?
- 27. Dovrebbe essere glob.glob (...) preferibile su os.listdir (...) o viceversa?
- 28. Asp .Net MVC Viewmodel dovrebbe essere di classe o struct?
- 29. dovrebbe mai essere usato encodeURI?
- 30. Content-Type REST: dovrebbe essere basato sull'estensione o sull'intestazione Accept?
Non proprio: Visual Studio dispone di funzionalità IDE per supportare lo sviluppo WPF con C# (e VB.NET) ma non per C++/CLI. E poi c'è questo: http://stackoverflow.com/questions/2681999/no-intellisense-for-c-cli-in-visual-studio-2010 –
Grazie per averlo portato alla mia attenzione. Non mi rendevo conto che il supporto fosse quello mancante. – nukefusion