트랜스 포터 부품과 함께 구성 부품을 내보낼 수 있습니다.
public interface IDataTransporterSettings
{
// any common settings are defined here
}
... 그리고 어떤 IDataTrasporter는 해당 유형의 공용 속성이 있다고 가정 : 다음 ... '설정을
public interface IDataTransporter
{
IDataTransporterSettings Settings { get; }
}
을
은의이 호스트 응용 프로그램 인터페이스를 정의한다고 가정 해 봅시다 "각 설정과 일치하는 많은 공개 속성을 가진 수업이 될 수 있습니다.
public class TcpDataTransporterSettings : IDataTransporterSettings
{
public string Address { get; set; }
public int Port { get; set; }
}
그런 다음 TcpDataTransporter 클래스는 Settings 속성에서 주소/포트/값을 확인하기 위해 항상 읽습니다.
이제 호스트 응용 프로그램에서 리플렉션을 사용하여 가져온 전송기 파트의 설정을 검사하고 각 public settable 속성 (문자열의 경우 TextBox, int의 경우 NumericUpDown 등)에 대한 적절한 컨트롤을 표시 할 수 있습니다.
나는 약간의 작업으로 Attributes를 통해 사람이 읽을 수있는 설명을 각 속성에 추가 할 수 있으므로 UI의 각 컨트롤에 대한 레이블을 정의 할 수 있습니다.
필자는 완전히 이것을 생각하지 못했지만 필자는 어디서나 구현하지는 못했지만 가져온 부분마다 유연한 설정을 제공 할 수있는 것처럼 들릴 수 있습니다.
좋은 생각처럼 들리지만 대답으로 표시하지는 않겠지 만. 제가 지금 가지고있는 것은 Dictionary가 IDataTransporter 인터페이스의 일부입니다. 이 솔루션도 살펴 보겠습니다. 어셈블리에 자체 .xml 구성 파일이있을 수 있는지 궁금합니다. –
TimothyP