このようにすればできるのかなと安直な考えは通用せず
それは無茶と言うもので。CArray
クラスはプログラミング言語からして違うC++、しかもMFCベースの独自のクラスなので互換性はありません。無理をせずC#/.NET Frameworkのコレクションクラスを使いましょう。
マイクロソフトのCArray
リファレンスCArray Class ではコード例として
C++
1// example for CArray::Add
2CArray<CPoint,CPoint> ptArray;
3
4CPoint pt(10,20);
5ptArray.Add(pt); // Element 0
6ptArray.Add(CPoint(30,40)); // Element 1
がありますが、これをC#で構造体XRITE_REG_ST
に置き換えてみると以下のようになります。
C#
1 public struct XRITE_REG_ST
2 {
3 public int x;
4 public int y;
5 }
6
7 public class Class1
8 {
9 public void Func()
10 {
11 System.Collections.Generic.List<XRITE_REG_ST> list = new System.Collections.Generic.List<XRITE_REG_ST>();
12 XRITE_REG_ST item = new XRITE_REG_ST()
13 {
14 x = 10,
15 y = 20,
16 };
17
18 // 1つめを追加
19 list.Add(item);
20
21 // 2つめを追加
22 list.Add(new XRITE_REG_ST()
23 {
24 x = 30,
25 y = 40,
26 });
27
28 // 3つめ(冗長な例)
29 var item3 = new XRITE_REG_ST();
30 item3.x = 50;
31 item3.y = 60;
32 list.Add(item3);
33 }
34 }
System.Collections.Generic.List<T>
クラスのリファレンスを見ればいろいろ使えるメソッドがあります。
List<T> Class
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/18 07:38