質問: Marshal.SizeOf(hogetype) MsgBox(i) End Sub Private Structure Mytype _ Dim MyString() As String End Structure エラー内容 アンマネージ構造体としてマーシャリングできません。有効なサイズ、またはオフセットの計算ができません
回答: 型に文字数制限をつける必要はあるのでしょうか。 必須ではないのであれば、単純にStringとし、配列ではなくリストを使用すればよいかと思います。 通常、サイズを気にする必要はありません。 また、通常、構造体ではなくクラスとして利用した方がよいのではないかと思います。 VB.NETでのクラスと構造体の違いは、関数の引数として渡す場合にコピーが作成されるかどうかの違いのみであるとの認識です。 コードとしては、下記のようになるのではないかと思います。 ``` Private Class Mytype Private _myStringList As New List(Of String) Public ReadOnly Property MyStringList() As List(Of String) Get Return _myStringList End Get End Property End Class ```