2014-11-13 8 views
93

fino a questo giorno, ho potuto fare uso di costruttori primari come:costruttori primari compilare non è più in VS2015

public class Test(string text) 
{ 
    private string mText = text; 
} 

Per poter fare questo, nel precedente Visual Studio CTP, ho dovuto aggiungere questo al csproj-file:

<LangVersion>Experimental</LangVersion> 

in ogni caso, questo non funziona più in Visual Studio 2015 Preview (con o senza LangVersion). Qualcuno ha qualche idea su cosa potrebbe succedere?

+6

Parlano di rimuoverlo [qui] (https://roslyn.codeplex.com/discussions/568820) – Jonesopolis

+15

Sono l'unico che ha pensato che questa funzione era inutile? Non ho mai trovato il beneficio effettivo per questo. – TyCobb

+2

Mi sentivo un po 'imbarazzante, ma mi piace la filosofia che ci sta dietro! – Matko

risposta

138

Qualcuno ha qualche idea su cosa potrebbe succedere?

Yup: i costruttori primari sono stati rimossi dai piani per C# 6. Potrebbero apparire in qualche modo in una versione successiva, ma non sono più in C# 6.

Vedere il messaggio "Changes to the language feature set" dal team per ulteriori dettagli.

+0

Questo è davvero triste! Sembravano abbastanza utili. –

+0

@PerLundberg: neanche nel C# 7. Sospetto che il team di progettazione C# rivisiterà i tipi di record in C# 8, ma questo non significa che ce la faranno sicuramente. –

+0

Speriamo per il meglio. :) Li ho visti menzionati in alcuni post C# sì, e sembrava un altro modo interessante per cercare di risolvere il problema della "classe semplice". –

Problemi correlati