그래, WinForms 응용 프로그램에서 인터페이스를 구현하는 것에 대한 질문이 있습니다. 기본적으로 내가 만든 컨트롤 라이브러리가 있습니다. 각 컨트롤에는 기본 폼과 상호 작용하는 인터페이스가 정의되어 있습니다.각 인터페이스가 2MB RAM을 차지하는 이유는 무엇입니까?
내가하고있는 일은 인터페이스의 유형 인 속성 핸들러를 생성 한 다음 이렇게하는 것입니다. 컨트롤에
: 기본 폼
public interface ITest {
void Test1();
void Test2();
}
private ITest _testHandler;
public ITest TestHandler {
get { return _testHandler; }
set { _testHandler = value; }
}
:
public MainForm : Form, MyControl.ITest {
public MainForm() {
InitializeComponent();
MyTestControl.TestHandler = this;
}
// Implementing methods here...
}
인터페이스가 제대로 작동합니다. 나는 왜 그것이 각각 하나씩 너무 많은 숫양을 차지하고 있는지 궁금해. 필자는 인터페이스가 실제로 성능에 영향을 미쳐야한다고 생각하지 않습니다.
어떻게 메모리 소비를 측정 했습니까? – MoonKnight
당신은 그들이 2 메가의 RAM을 차지하고 있음을 어떻게 알 수 있습니까? (btw, * 인터페이스 *는 RAM을 차지하지 않습니다. 단지 컴파일러와의 계약입니다.) –
인터페이스가 메모리를 차지하지 않습니다. 데이터 않습니다. 구현 클래스 (다른 것들 중에서)는 실제 메모리를 차지하는 클래스입니다. –