I have a class C with some internal variables. It has a nested class N that wants to access the variables in C. Neither C nor N are static, although C has some static method
This isn't Java, and you don't have inner classes.
An instance of a nested class is not associated with any instance of the outer class, unless you make an association by storing a reference (aka handle/pointer) inside the constructor.
public sealed partial class C
{
string _t;
class N
{
readonly C outer;
public N(C parent) { outer = parent; }
void m()
{
outer._t = "fie"; // Error is gone
}
}
}