입력 확인을위한 여러 가지 방법이있는 Form
이 있습니다. 이 유효성 검사 로직을 여러 Form
과 UserControl
사이에서 공유하고 싶습니다. 기본 클래스의 유형은 무엇이되어야합니까? UserControl
에도 사용되기 때문에 Form
이 될 수 없으므로 Form
에도 사용되기 때문에 UserControl
이 될 수 없습니다.폼 및 사용자 컨트롤 모두에 대한 하나의 기본 클래스
내 직감은 솔루션에 제네릭이 포함될 수 있다고하지만 확실하지 않습니다.
참고 : "유효성 검사 논리"에 의해 인터페이스는 해결책이 아니다 그래서 나는의 구현를 참조하십시오. 내가 실제로 입력을 검증하기위한 별도의 클래스를 할 :
편집 (질문 좀 명확하게하기 위해). 그러나 입력이 유효하지 않음을 사용자에게 알리기 위해 ErrorProvider
을 사용합니다. 내 InputValidator
클래스는 ErrorProvider
을 사용하여 오류를 사용자에게 표시하는 Form
/UserControl
내부의 메서드를 호출합니다. 나는 단지 Form
/UserControl
마다이 방법을 복사하여 붙여 넣기를 원치 않는다.
양식은 컨트롤의 일부를 상속받습니다. 그러나 이것이 검증 로직을 논쟁의 여지가있게 만드는 가장 좋은 장소입니다. – user6144226
양식에 유효성 검사를 포함하지 마십시오. 검증 로직을 위해 별도의 클래스를 생성하십시오. 양식의 모든 데이터는 메소드 매개 변수 또는 특성으로 전달 될 수 있습니다 (새 클래스로 그룹화 될 수도 있음). –
@Sipo - 상속 계층 구조는 쉽게 확인할 수있는 문제이므로 (docs/visualStudio) 질문은 다소 잘못 표현되거나 구성 될 수 있습니다. 알고 싶은 것은 재사용 가능한 유효 로직을 연결하는 방법입니다. – user6144226