Esse codigo fica dando esse erro, mas eu não sei como resolver
Esse codigo fica dando esse erro, mas eu não sei como resolver
João,
Acredito que tem duas maneiras de resolver isso.
Por favor, leia os links abaixo:
==========================================================
Changing the C# version in Visual Studio 2019
https://stackoverflow.com/questions/60247122/changing-the-c-sharp-version-in-visual-studio-2019
==========================================================
Controle de versão da linguagem C#
Padrões
O compilador determina um padrão com base nestas regras:
Estrutura de destino | version | Padrão da versão da linguagem C# |
---|---|---|
.NET | 7.x | C# 11 |
.NET | 6.x | C# 10 |
.NET | 5.x | C# 9.0 |
.NET Core | 3.x | C# 8.0 |
.NET Core | 2.x | C# 7.3 |
.NET Standard | 2.1 | C# 8.0 |
.NET Standard | 2.0 | C# 7.3 |
.NET Standard | 1.x | C# 7.3 |
.NET Framework | all | C# 7.3 |
Importante
O novo modelo de projeto do Visual Studio 2017 adicionou uma latest entrada a novos arquivos de projeto. Se você atualizar a estrutura de destino para esses projetos, eles substituirão o comportamento padrão. Você deve remover o latest arquivo de projeto ao atualizar o SDK do .NET. Em seguida, seu projeto usará a versão do compilador recomendada para sua estrutura de destino. Você pode atualizar a estrutura de destino para acessar recursos de linguagem mais recentes.
https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/configure-language-version
==========================================================
C# 7.1, 7.2 and 7.3 - New Features (Updated)
https://www.dotnetcurry.com/csharp/1437/csharp-7-1-7-2-7-3-new-features
==========================================================
Novidades no C# 8.0
O c# 8,0 adiciona os seguintes recursos e aprimoramentos à linguagem C#:
...
https://docs.microsoft.com/pt-br/dotnet/csharp/whats-new/csharp-8
==========================================================
Referência de C#
Esta seção fornece o material de referência sobre palavras-chave do C#, operadores, caracteres especiais, diretivas de pré-processador, opções de compilador e erros de compilador e avisos.
https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/
==========================================================
The modifier is not valid in C#.Use language version and greater
Issue Description
The modifier ‘public’ is not valid for this item in C# 7.3. Please use the language version 8 or greater.
Feature ‘default literal’ is not available in C# [version]. Please use the language version or greater.
https://www.thecodebuzz.com/modifier-not-valid-this-item-c-use-language-version-greater/
==========================================================
Compilation Error: "The modifier 'public' is not valid for this item" while explicitly implementing the interface
E quando o modificador de acesso é forçado, você não pode adicionar um.
Da mesma forma, na própria interface, todos os membros são públicos . Se você tentar adicionar um modificador dentro de uma interface, receberá um erro semelhante.
==========================================================
DETALHE!
De acordo com cada TIPO de projeto, as propriedades são diferentes...
Veja, um projeto Windows Forms:
... e um projeto ASP.Net.
Eu não consegui mudar, pois ambos estão atrelados ao framework... eu estou usando de agora em diante o ".Net 6". Acho que entendi... deve ser porque estou usando o "preview" (dá acesso explícito à versões prévias).
<Project>
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
</Project>
Lembrei disto também:
No C# os modificadores de acesso mais utilizados são:
[]'s,
Fabio I.