그래서, 나는 다음과 같은 정의 (상당히 무해)가 다음 조립, 함께 일하고 있어요 :왜 처음부터 직렬화해야합니까?
public class QueryDefinition
{
private List<QueryFilter> TheCurrentFilters = null;
public List<QueryFilter> CurrentFilters
{
set { TheCurrentFilters = value; }
get { return TheCurrentFilters; }
}
// other code
public class QueryFilter
{
// member variables are: seven public string's & two public int's
public override string ToString()
{
return FilterText;
}
}
}
다른 어셈블리 내에서, 우리는 UserControl이 있습니다
public partial class QueryWizard : UserControl
{
private List<QueryDefinition.QueryFilter> TheCurrentFilters = null;
public List<QueryDefinition.QueryFilter> CurrentFilters
{
set { TheCurrentFilters = value; }
get { return TheCurrentFilters; }
}
// other code
}
재미있는 코드를하지만, 그게 내가해야만하는 일이야.
'System.Runtime.Serialization.SerializationException : 나는 (참고 문헌이 UserControl을 그), 폼을 만든 다음 폼에 컨트롤을 드롭 다른 프로젝트로 이동하는 경우
은 어쨌든, 나는이 오류 : 형식 QueryDefinition + QueryFilter '어셈블리에서 ... serializable로 표시되어 있지 않습니다.'
실제로이 serialization 코드를 사용하지 않으므로이 QueryFilter 목록 중 SerializationException의 이유는 무엇입니까?
[Serializable] 태그를 사용하여이 문제를 해결했습니다. 하지만 최근에 우리는 프로젝트 (비주얼 WebGUI 업 그레 이드)를 재건하고 있었고 이제는 "deserialization에 필요한 유형을로드 할 수 없습니다"문제가 발생합니다. 그 문제를 알아내는 대신, 나는 왜 우리가 처음부터 직렬화 태그가 필요한지 알아 내려고 노력하기로 결정했다! 감사.
예외 – Andrey