Telescope
이라는 대형 공용 클래스가 있습니다. 나는 새 양식 (form1.cs
)을 만들었고 클래스에있는 공개 무효화 중 일부를 호출하려고합니다.C# 형식의 기존 클래스 호출
는 내가 모든 방법을 볼 수있는 클래스를 그 후
Telescope controls = new Telescope(); controls.CommandString("Gs#",true);
를 초기화하는 형태로이 같은 일을하지만, 클래스가 이미 초기화로는 실행에 실패하고있다 기존 직렬 포트 연결 진행 중이므로 직렬 포트 연결이 없다고보고합니다.
어떤 도움이 필요합니까? 새 양식의 기존 방법을 사용하려면 어떻게해야합니까? 나는 그것이 작동 (망원경 클래스 임) Driver.cs에서이 CommandString를 사용하는 경우
망원경 클래스는
public string CommandString(string command, bool raw)
{
CheckConnected("CommandString");
serialPort.ClearBuffers();
serialPort.Transmit(command);
return serialPort.ReceiveTerminated("#");
}
Driver.cs
입니다. 내가 예외를 얻을 Form1.cs를 에서 작동하지 않습니다 당신은 IoC 컨테이너의 일종을 사용하는 것입니다 귀하의 클래스와 인터페이스 베어 최소한의 방법을 포함하는 인터페이스를 구현하는 것이 이상적으로************** Exception Text **************
ASCOM.NotConnectedException: CommandString
이것은 작동합니다. 이제 망원경 클래스에서 정확히 무슨 일이 일어나고 왜 작동하지 않는지는 코드를 공개하지 않으면 알 수 있습니다. –
@ IvanIcin 그는 시리얼 포트에 연결을 시도하고 있습니다 ... 이것은 C#의 범위 밖에 있습니다. 그러나 통신 포트는 한 번에 하나의 연결 만 유지할 수 있습니다. –
잠깐, 직렬 포트에 다시 연결하고 싶지 않습니다. 난 그냥 기존의 연결을 활용하고 싶습니다. 게시물을 수정하겠습니다. – evans