역 직렬화에 문제가 있습니다. 선을 그릴 수있는 그리기 응용 프로그램을 생성한다고 가정 해보십시오. 우리는 한 줄의 그리기 방법을 담당하는 클래스를 가지고 있으므로 clsLine이라고 부르 자.캐스팅 및 역 직렬화
이제 각 행은 시작과 끝에서 다른 행과 N 개의 연결을 가질 수 있습니다. 지금까지 모든게 괜찮아. 이제 직렬화를 위해 xml 파일에 도면을 저장해야합니다. 문제는 XML 파일을 열어 예외를 가져 오는 데 사용 된 개체에 다시 그림을 deserialize 할 때입니다.
실제로 각 줄마다 연결된 줄 또는 선 세그먼트를 끝에 추가하기 위해 목록마다 목록을 사용하고 있습니다.
업데이트 :
public class clsLine : ShapeBase
{
//has all the properties and methods that should be applied to a line
//e.g. length, angle, and etc.
Connections endConnections = new Connections();
Connections startConnections = new Connections();
}
public class Connection
{
clsLine segment;
int handle;
public clsLine Segment
{
get { return segment; }
set { segment = value; }
}
public int Handle
{
get { return handle; }
set { handle = value; }
}
}
public class Connections : List<Connection>
{
public bool Contains(ShapeBase instance)
{
foreach (Connection con in this)
{
if (instance.Equals(con.Segment))
return true;
}
return false;
}
}
지금으로 deserialzation 동안 우리는 예외가 : '. 예외가 발생했습니다'
'형식의 컬렉션에 값을 추가'
가 OurProjectNameSpace.Connections제 동료는 "연결"에서 "연결"로 변환하는 것이 원인이라고 설명합니다. Connections는 연결 유형 또는 배열의 목록입니다.
여기 좀 고칠 수 있습니까?
감사합니다.
당신은 예외가 실제로 무엇을 게시 할 수 있습니까? InnerException을보아야 할 수도 있습니다. –
{ "값 \"네임 스페이스. 연결 \ "은 \"네임 스페이스입니다. 연결 \ "이 아니고 일반 콜렉션에서 사용할 수 없습니다. \ r \ n 매개 변수 이름 : 값"} 감사합니다. –
공유해야합니다. 참조 할 수있는 더 많은 소스 코드. 'clsLine','this','Connection' 등은 무엇입니까? – SliverNinja