Tôi có một lớp C với một số biến nội bộ. Nó có một lớp N lồng nhau muốn truy cập các biến trong C. Không phải C và N là tĩnh, mặc dù C có một số phương thức tĩnh và các biến. Khi tôi cố gắng truy cập một biến không tĩnh trong C từ N, tôi nhận được gạch chân vặn vẹo và thông báo "Không thể truy cập trường không tĩnh [tên trường] trong ngữ cảnh tĩnh".Lớp lồng nhau: Không thể truy cập trường không tĩnh trong ngữ cảnh tĩnh
Điều này dường như có liên quan đến lớp lồng nhau, vì tôi có thể truy cập biến số tiền phạt từ chính lớp đó.
ReSharper đề nghị tôi tạo _t tĩnh nhưng đó không phải là một tùy chọn. Làm cách nào để giải quyết vấn đề này?
public sealed partial class C
{
string _t;
class N
{
void m()
{
_t = "fie"; // Error occurs here
}
}
}
có thể trùng lặp của [Lớp bên trong và Lớp ngoài trong C#] (http://stackoverflow.com/questions/3155172/inner-class-and-outer-class-in-c-sharp) và http: //stackoverflow.com/questions/2367015/java-inner-classes-in-c-sharp –