- - PR -
構造体のメンバに構造体の続編
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-06-22 19:11
以下の構造体の宣言ではgrps0,grps1,grps2と増えていった分だけ
コードが増えてしまいますが、何か良い方法はないでしょうか? Public Structure GRP_aaa Public A As Integer Public B As Integer End Structure Public Structure GRPS_aaa Private grps0 As GRP_aaa Private grps1 As GRP_aaa Private grps2 As GRP_aaa : : : Public Default Property Item(ByVal index As Integer) As GRP_aaa Get Select Case index Case 0 Return grps0 Case 1 Return grps1 Case 2 Return grps2 : : : Case Else Throw New ArgumentOutOfRangeException("index") End Select End Get Set Select Case index Case 0 grps0 = Value Case 1 grps1 = Value Case 2 grps2 = Value : : : Case Else Throw New ArgumentOutOfRangeException("index") End Select End Set End Property End Structure Public Structure TBL_aaa Public grps As GRPS_aaa End Structure | ||||||||
|
投稿日時: 2006-06-22 19:53
「配列」 や 「コレクション」 あたりを調べてみてください。 この場合、構造体よりデータ クラスを選択すべきかもしれません。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-06-23 08:40
ありがとうございます。
「配列」「コレクション」については調べてみます。 「アンマネージドDLLとの相互運用に使用する構造体のメンバに構造体の固定長配列をどうやって定義するのか」 ということでこのような構造体宣言になったのです・・・ 勉強不足ですいません。 | ||||||||
|
投稿日時: 2006-06-23 09:14
それを早く言ってくださらないと... (;´・ω・`)σ
.NET Framework 1.1 であれば、方法はありません。 独自の型は、メンバを並べる方法でしかマーシャリングできません。 # 配列とコレクションは調べなくても良いです... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-06-23 12:13
そうなんですか・・・ 構造体の構造体にならないよう考え直すことにします。 ありがとうございました。 |
1