Duplicar posible:
Cannot use ‘this’ in member initializer?¿Por qué no puedes usar 'esto' en los inicializadores de miembros?
Cualquier idea por qué me da un error si trato de hacer algo como esto:
public class Bar
{
public Bar(Foo foo)
{
}
}
public class Foo
{
private Bar _bar = new Bar(this);
}
me sale un error que dice:
"No se puede usar 'esto' en el inicializador de miembro"
pero las siguientes obras:
public class Foo
{
private Bar _bar;
public Foo()
{
_bar = new Bar(this);
}
}
Alguien sabe la razón detrás de esto? Según entendí, estos compilarían para la misma IL, de modo que tengo curiosidad por saber por qué uno está permitido y el otro no.
Gracias, Alex
No estoy seguro de por qué esta pregunta se cierra como un duplicado, ya que la respuesta a la otra pregunta es por qué no se informó porque se respondió un error con "esto es un error en el compilador" sin realidad explicando por qué no fue permitido. – Powerlord