You are trying to transfer an object before it is created. Although the compiler could do something sensible in this case, in general, this will not work.
Your actual example works if you only do this:
public ClassA()
{
_methodA = this;
}
But you probably want to share more logic, so just use the function.
public ClassA()
{
SetStuff();
_methodA = this;
}
public ClassA(IMethodA methodA)
{
SetStuff();
_methodA = methodA;
}
source
share