2016-05-12 16 views
6

Ho ereditato un progetto di sito Web VB.NET che gli obiettivi di versione 4 del framework .NET, che include la seguente riga:"Visual Basic 10.0 non supporta sola lettura proprietà auto-implementato" errore in Visual Studio 2015

Public ReadOnly Property Foo(Optional ByVal MyShort As Short = -1, Optional ByVal MyBool As Boolean = True) As String 
    Get 
     'logic 
     return Bar 
    End Get 
End Property 

Utilizzo Visual Studio 2015 e non riesco a creare il progetto con quella linea in posizione perché sto ricevendo l'errore "Visual Basic 10.0 non supporta proprietà auto-implementate di sola lettura".

Mi sono imbattuto in this question che descrive un errore "VB 9 non supporta le proprietà auto-implementate" e indica un errore nel compilatore di Roslyn e suggerisce di spostarmi il più possibile all'esterno di App_Code per evitare il problema.

Qualcuno si è imbattuto in questo errore e ha trovato un modo relativamente indolore attorno ad esso?

Ho preso in considerazione l'ipotesi di modificare la proprietà in una funzione perché ciò sembra logico quando si tratta di una proprietà readonly con logica interna che accetta argomenti facoltativi; in questo caso non so che sarà permesso spostare nulla da App_Code.

risposta

1

Non conosco questo bug, né come ignorarlo, ma la questione di cambiare questa proprietà in un metodo ha senso.

La domanda che vorrei porre è: "In primo luogo, questa proprietà dovrebbe essere un metodo?"

Here is some reading about that question.

Oltre a questo, si può sempre trasformare una proprietà a un metodo, ma perderai alcune funzionalità (see this answer)

Problemi correlati