質問編集履歴

2

追記

2019/03/13 07:50

投稿

kamikazelight
kamikazelight

スコア305

test CHANGED
File without changes
test CHANGED
@@ -66,6 +66,76 @@
66
66
 
67
67
  ```
68
68
 
69
+ ### 試したこと
70
+
71
+ 現状だとディクショナリ 使って名前で指定できるようにして
72
+
73
+ 数値で指定したくなったらValueでArray(object[])にするしか.....
74
+
75
+
76
+
77
+ PowerShellのクラスのプロパティでAdd-memberを使って
78
+
79
+ ゲッターセッター風にすることはできるですが
80
+
81
+ クラスのメンバーを追加するだけなので....
82
+
83
+ クラスのインスタンス自身にインデクサ?を指定されたときの振る舞いを
84
+
85
+ 変えることは出来ないですし
86
+
87
+
88
+
89
+ powershellだと出来ないってことでしょうか?(Add-type で C#取り込み除く)
90
+
91
+ ```powershell
92
+
93
+ Using NameSpace System.Collections.Generic
94
+
95
+ Using NameSpace System.Management.Automation
96
+
97
+
98
+
99
+ $Dic = [Dictionary[String,PSCustomObject]]::new()
100
+
101
+
102
+
103
+ $Ar = 0..9 |
104
+
105
+ %{
106
+
107
+ [PSCustomObject]@{
108
+
109
+ Name = "Name$_"
110
+
111
+ Text = "Text_$_"
112
+
113
+ Disp = "テキスト_$_"
114
+
115
+ }
116
+
117
+ }
118
+
119
+
120
+
121
+ $Ar |
122
+
123
+ %{
124
+
125
+ $Dic.Add($_.Name,$_)
126
+
127
+ }
128
+
129
+
130
+
131
+
132
+
133
+ Write-host $Dic["Name5"].Name -ForegroundColor Red
134
+
135
+ Write-host $($Dic.Values)[5].Name -ForegroundColor Red
136
+
137
+ ```
138
+
69
139
 
70
140
 
71
141
  ### 補足情報(FW/ツールのバージョンなど)

1

修正

2019/03/13 07:50

投稿

kamikazelight
kamikazelight

スコア305

test CHANGED
File without changes
test CHANGED
@@ -1,14 +1,14 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
+ オブジェクトを配列にして使っているのですが
3
4
 
4
-
5
- インデックスの指定に数値とNameの両方が使えるようにしたいのです
5
+ インデックスの指定に数値とNameの両方が使えるようにしたいのです
6
6
 
7
7
  何を利用したらいいのでしょうか
8
8
 
9
9
 
10
10
 
11
- FormのControls 等目にする機会は多いのですが
11
+ FormのControls 等 目にする機会は多いのですが
12
12
 
13
13
  作り方が全く分かりません。
14
14
 
@@ -52,7 +52,13 @@
52
52
 
53
53
 
54
54
 
55
+ <#
56
+
55
- # どちらの方法でも取得できる
57
+ どちらの方法でも取得できる
58
+
59
+ こんな感じで使えるコレクション?を作りたい
60
+
61
+ #>
56
62
 
57
63
  Write-Host $($Form.Controls["TextBox_5"].Name) -ForegroundColor Red
58
64