2011-07-27 2 views
1

VB.net에서 응용 프로그램 설정에서 저장하려고하는 행렬 개체가 있고 설정을 올바르게 복구하지 못했습니다. 내가 user.config 파일을 볼 때응용 프로그램 설정에 행렬 클래스 저장 VB.net

Private mMatrixHR As New Matrix 
... 
My.Settings.MatrixHR = mMatrixHR 
... 
My.Settings.Save() 

나는 참조 :

 <setting name="MatrixHR" serializeAs="Xml"> 
      <value> 
       <Matrix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns:xsd="http://www.w3.org/2001/XMLSchema" /> 
      </value> 
     </setting> 

분명히 더 매트릭스 데이터가 파일에 저장되지 않았습니다.

누구가 잘못하고 있는지 설명 할 수 있습니까?

감사

J

+0

Matrix 클래스는 Xml Serializable이어야합니다. 수업 내용을 게시 할 수 있습니까? –

+0

매트릭스에서 어떤 값을 저장하려고합니까? –

+0

그냥 매트릭스 요소. 이제 행할 방법은 행렬을 생성하고 대신 그것을 직렬화하는 데 사용되는 변환, 축척 및 회전 매개 변수를 포함하는 클래스를 만드는 것입니다. – Jerry

답변

0

그것 dot.net 매트릭스 클래스

System.Drawing.Drawing2D.Matrix 

내가 응용 프로그램 설정 구성에서이 유형을 선택할 수 있기 때문에, 나는이가 직렬화 될 것으로 가정했다.

J

+0

질문에 덧글을 추가하십시오. 대답이 아닙니다. –

0

System.Drawing.Drawing2d.Matrix 클래스는 직렬화하지 않습니다. 호출

mMatrixHR.GetType().IsSerializable() 

은 False를 반환합니다.

0

클래스가 XML에 직렬화되어 App Settings에 저장되어야합니다. XML 직렬화가 가능하려면 클래스에 읽기/쓰기 속성이 있어야합니다 (속성 만 XML에 유지됨). Matrix 클래스에는 ReadOnly 속성 만 있으므로 아무 것도 직렬화되지 않습니다.

읽기/쓰기 속성을 사용하여 직렬화하려는 데이터를 노출하는 고유 한 클래스를 만들어야합니다.

관련 문제