Para esta pregunta SO: What is the C# equivalent of friend?, yo personalmente habría respondido "interno", al igual que Ja hizo entre las respuestas! Sin embargo, Jon Skeet dice que no hay equivalencia directa de VB Friend en C#. Si Jon Skeet lo dice, ¡no seré el que diga lo contrario! ; PC# interno VS VBNET amigo
Me pregunto cómo puede la palabra clave internal (C#) no ser el equivalente de Friend (VBNET) cuando sus respectivas definiciones son:
El Friend (Visual Basic) palabra clave en la declaración de declaración especifica que se puede acceder a los elementos desde el mismo ensamblaje, pero no desde fuera del ensamblaje. [...]
Internal: El acceso está limitado a la actual asamblea.
Según entiendo, estas definiciones significan lo mismo para mí.
Entonces, respectivamente, cuando estoy de codificación en VB.NET, yo uso el amigo palabra clave para especificar que una clase o una propiedad deberán ser accesibles sólo dentro de la asamblea en la que se declara. Lo mismo en C#, uso la palabra clave interna para especificar lo mismo.
¿Estoy haciendo algo o algo mal desde esta perspectiva?
¿Cuáles son los refinamientos que no obtengo?
¿Podría alguien explicar cómo o en qué amigo e interno no son equivalencias directas?
¡Gracias de antemano por cualquiera de sus respuestas!
Supongo que me confundí con la palabra clave "amigo". En particular, después de haber leído la respuesta de Ja, que es "interna", y de haber dicho que eso no era correcto. Entonces, ambos son equivalentes cuando hablan .NET, ¿verdad? ¿Qué es esto de InternalsVisibleToAttribute? –
@Will: Lo siento, tienes razón: amigo en VB es de hecho equivalente a interno en C#. No fue correcto en esa pregunta, porque la pregunta no era sobre VB. Sin embargo, editaré mi respuesta aquí :) Para el registro, InternalsVisibleTo se trata de que a una asamblea se le permita el acceso a los miembros internos de otra. –
+1 Gracias a Jon por su respuesta, y a los demás que también lo hicieron. –