VB2012 : My.Settings 클래스의 복제본 (복사본 아님)을 만들려고합니다. 나는 SOMy.Settings의 복제본 만들기
Public Function DeepClone(Of T)(ByVal a As T) As T
Using stream As New System.IO.MemoryStream
Dim formatter As New BinaryFormatter
formatter.Serialize(stream, a)
stream.Position = 0
Return DirectCast(formatter.Deserialize(stream), T)
End Using
End Function
에 여기에있는 DeepClone 기능을 시도하지만 국회 'TestApp가, 버전 = 10.1 예외
유형'MyCompany.MyDept.TestApp.My.MySettings '을 발생합니다. 0.3, Culture = neutral, PublicKeyToken = null '은 이 직렬화 가능으로 표시되어 있지 않습니다.
설정이 클래스이고 XML로 저장되면 복제 할 방법이 있어야합니까? 아니면 잘못된 트리를 짖고 있습니까?
~ AGP
을 당신이 그것을 복제하고 그것을 사용하는 방법은 모든 직렬화 할 수 있도록'Serializable' 속성을 필요로 바이너리 직렬화를 통해입니다 비공개 필드. XML 직렬화는 공용 필드를 직렬화 만하기 때문에 해당 속성이 필요하지 않습니다. –
얕은 복제만으로 충분하지 않습니까? – miroxlav
내가 따라야 할 샘플이있다. 나는 무엇이든 시도 할 것이다. – sinDizzy