Vamos a ver en esta clase:¿Por qué el campo privado de la clase es visible al pasar el mismo tipo como un parámetro del método C#?
public class Cluster
{
private List<Point> points; //private field
public float ComputeDistanceToOtherClusterCLINK(Cluster cluster)
{
var max = 0f;
foreach (var point in cluster.points) // here points field are accessible
{
.......
}
return max;
}
}
razón por la que puede acceder ámbito privado?
¿Puedo usar esta característica o puede ser una mala práctica?
Esto es por diseño y es particularmente útil para métodos estáticos de "métodos de fábrica" y "clonar". –
Los campos privados son accesibles dentro del tipo. ComputeDistanceToOtherClusterCLINK es el miembro del mismo calss. Entonces el campo privado debería ser accesible desde el cuerpo del método. –
Posible duplicado de http://stackoverflow.com/questions/8566307/private-field-accessible-from-other-instance-of-the-same-class –