Li que em C#, quando não há um modificador de acesso [como private, protected, public, internal] especificado, o padrão é private.
Olhem o exemplo abaixo, criado pelo Visual Studio .NET 2010:
namespace TestandoThread
{
class ClasseThread
{
//Código irrelevante
}
}
namespace TestandoThread
{
class ThreadMain
{
static void Main(string[] args)
{
ClasseThread classeThread1 = new ClasseThread();
}
}
}
Eu esperaria um erro de sintaxe ao criar um objeto ClasseThread. Já que o modificador de acesso é private por padrão, como estou conseguindo criar o objeto? Percebam que não coloquei um construtor padrão public. O compilador me cria um public implicitamente?
Sim. Se você não especificar o modificador, a classe é assumida como sendo internal.
E
ECO2004
Esse não é o conceito do modificador internal?
Sim. Se você não especificar o modificador, a classe é assumida como sendo internal.
Espere um pouco…se eu não especificar o modificador, é private, não internal, né?!
M
matheuslmota
Esse não é o conceito do modificador internal?
Sim. Se você não especificar o modificador, a classe é assumida como sendo internal.
Espere um pouco…se eu não especificar o modificador, é private, não internal, né?!
Para classe é internal. Classes em C# só aceitam dois especificadores, public e internal. Se você não especificar o atributo, ele é marcado como internal.
E
ECO2004
Esse não é o conceito do modificador internal?
Sim. Se você não especificar o modificador, a classe é assumida como sendo internal.
Espere um pouco…se eu não especificar o modificador, é private, não internal, né?!
Para classe é internal. Classes em C# só aceitam dois especificadores, public e internal. Se você não especificar o atributo, ele é marcado como internal.
Vlw!
V
ViniGodoy
Tópico movido para o fórum de outras linguagens.
E só corrigindo, internal não se refere ao namespace, mas ao assembly.
Ou seja, todas as classes que estiverem na mesma dll, irão enxergar o internal, mesmo que sejam de namespaces diferentes.
O equivalente ao assembly do C# no Java é o .jar. Sinto muita falta de um modificador assim em Java.