2017-12-14 3 views
0

클래스 내부의 통신을 저장하려고합니다. 그런 다음 모든 데이터 포인트가 태그 사이에서 디코드되는 XML 파일 클래스를 직렬화 할 계획입니다.통신 프로토콜을 저장하기위한 구조 목록으로 공개 속성이있는 클래스

그러므로 먼저 통신 프로토콜을 설명하고 싶습니다.

메시지 프레임 나는이 약 3000 원시 변수 내에서 전보가,
LIE02

통신이 종료

LIE01 다음

처럼 보인다. 내 생각은 프레임을 디코딩에 저장하는 것이 었습니다 헤더 + 2 데이터 워드

:

  • LIE01 : 헤더 + 1 개 데이터 워드
  • LIE02 여기

    나는 메시지를 설명 내 클래스의 public 속성 인 구조체의 목록 (또는 배열)입니다.

    Public Class Com 
        Public Structure sLIE01 
         Public Property Header As Int16 
         Public Property data1 As Int16 
        End Structure 
    
        Public Structure sLIE02 
         Public Property Header As Int16 
         Public Property data1 As Int16 
         Public Property data2 As Int16 
        End Structure 
    
        Public Property LIE01 As List(Of sLIE01) 
         Get 
          ? 
         End Get 
         Set(ByVal value As List(Of sLIE01)) 
          ? 
         End Set 
        End Property 
    
        Public Property LIE02 As List(Of sLIE02) 
         Get 
          ? 
         End Get 
         Set(ByVal value As List(Of sLIE02)) 
          ? 
         End Set 
        End Property 
    End Class 
    

    는 Unfortunatelly 난 아무 생각이되지 않도록, 어떻게 Set 또는 Get 특정 거짓말 메시지에 코드를 작성, 많은 전문가보다는 초보자입니다.

    내 방법이이 목적을위한 일반적인 방법인지 여부는 확실하지 않습니다.

답변

0

Private _LIE01 As List(Of sLIE01) 
Public Property LIE01 As List(Of sLIE01) 
    Get 
     Return _LIE01 
    End Get 
    Set(value as List(Of sLIE01)) 
     _LIE01 = value 
    End Set 
End Property 
1

코드에 자동 구현 된 속성을 사용하고 getters와 setters를 모두 건너 뛸 수 있습니다 (https://docs.microsoft.com/en-us/dotnet/visual-basic/programming-guide/language-features/procedures/auto-implemented-properties). 당신은 다음처럼 그들에게 목록을 할당 할 수 있습니다 :

Dim newList as new List(of sLIE01)() 
ComInstance.Lie01 = newList 
또한 그 목록 속성에서 작동 할 수

직접 (당신이 NullReferenceException이를 방지하기 위해 클래스 생성자를 초기화해야합니다) :

Dim lie as sLie01 
ComInstance.Lie01.Add(lie) 

또한 클래스와 구조를 교체를 고려 ... 당신은 여전히 ​​같을 것이다 설정하기 사용하려는 경우 https://docs.microsoft.com/en-us/dotnet/visual-basic/programming-guide/language-features/data-types/structures-and-classes

관련 문제