서비스 계층 개체를 참조하는 속성이 있으며 양식을 사용할 때마다 필요합니다. 가장 좋은 방법은 무엇입니까? 생성자 또는 양식의로드 이벤트에서 속성을 초기화 하시겠습니까?로드 이벤트 또는 생성자에서 속성을 초기화 하시겠습니까?
2
A
답변
3
양식의 유효성이 설정된 속성에 따라 다르면 생성자에서 속성을 설정하십시오. 객체가 생성 된 후에는 항상 객체를 유효한 상태로 유지해야합니다.
0
생성자에서. 매우 자주 양식을 작성하고 양식을 표시하기 전에 일부 속성을 설정하거나 다른 종류의 설정을해야합니다. 이 경우 Form이 실제로로드되기 전에 모든 인스턴스 변수를 설정해야합니다.
0
폼로드시 변수를 초기화하는 데 특별한 필요 또는 종속성이없는 경우 (예 : 다른 것에 종속 된 것으로 초기화하는 경우 등) 생성자는 초기화를 담당해야합니다.
2
그래,하지만 양식을 열 때 비주얼 디자이너가이를 실행하므로 양식 생성자에서 무엇을하는지 조심하십시오.
런타임에 다른 구성 요소에 의존하는 것을 여기에 넣으면 오류가 발생할 가능성이 있으며 양식 레이아웃을 편집 할 수 없게됩니다.
나는 이런 이유로 Form Load에 넣는다.
0
생성자에서 속성을 초기화해야합니다. 생성자는 분명히 폼 인스턴스 당 한 번만 호출됩니다. 로드 이벤트 핸들러는 폼이 표시 될 때마다 호출됩니다. 또한로드 이벤트 핸들러에서 콤보 상자 채우기와 같은 초기화 작업을 수행 한 경우 양식을 표시하기 전에 콤보 상자의 값을 미리 선택하기 위해 꽤 해킹 된 코드를 작성해야합니다. 그것은 단지 하나의 예입니다. 희망이 도움이됩니다.
관련 문제
- 1. 생성자에서 초기화 된 클래스의 속성을 사용합니다.
- 2. 클래스 정의 시작 또는 생성자에서 멤버 변수를 초기화 하시겠습니까?
- 3. 새 개체를 반환하거나 생성자에서 멤버를 초기화 하시겠습니까?
- 4. 생성자에서 초기화, 모범 사례?
- 5. 생성자에서 배열 초기화
- 6. 생성자에서 배열 초기화.
- 7. 클래스 생성자에서 필드 초기화 : 직접 또는 "setter"를 통해?
- 8. MVVM -로드 및 이벤트 처리보기
- 9. 로드 이벤트 디버그
- 10. 생성자에서 스레드 된 C# 이벤트
- 11. WPF UserControl 시각적 속성을 설정하기 전에 초기화 된 이벤트 호출
- 12. 속성을 기반으로 체크 상자의 체크 상태를 초기화 하시겠습니까?
- 13. 클래스 또는 생성자에서 멤버를 초기화해야합니까?
- 14. 속성을 사용하여 이벤트 발생시키기
- 15. JQuery UI에서 탭 이벤트 초기화
- 16. C# : LINQ를 사용하여 클래스 생성자에서 개체를 초기화 할 수 있습니까?
- 17. 레크리에이션 또는 재 초기화?
- 18. + (void) objective-c 클래스 정적 변수 생성자에서 초기화
- 19. 하위 클래스의 함수가 있으면 생성자에서 확인 하시겠습니까?
- 20. C++ : 기본 생성자에서 derrived 함수를 호출 하시겠습니까?
- 21. 서비스가 시작되기 전에 WCF 서비스를 초기화 하시겠습니까?
- 22. jQuery live() iPhone 터치 이벤트 속성을 제거 하시겠습니까?
- 23. 이벤트, 위임 또는 인터페이스?
- 24. HTML 또는 "onload"의 끝에 JS 구성 요소를 초기화 하시겠습니까?
- 25. MVP 이벤트 또는 속성
- 26. 로드 한 후 웹 페이지를 인쇄 하시겠습니까?
- 27. 참조 회원을 합법적으로 초기화 하시겠습니까?
- 28. 코코아 - 개체를 다시 초기화 하시겠습니까?
- 29. 테이블에서 quicksearch를 다시 초기화 하시겠습니까?
- 30. 자바 스크립트 객체의 속성을 다시 초기화
주의해야 할 말이 맞습니다. 그러나 설정할 속성이 클래스 invariant 인 경우 해당 속성이 설정 될 때까지 다른 클라이언트가 해당 개체를 만져서는 안된다는 것을 의미합니다.이 경우 생성자가 유일한 합리적인 곳입니다. 결과 : 런타임 초기화에 의존하는 속성은 디자이너가 관리하는 클래스에 대한 클래스 불변 값이 아니어야합니다. –