.NETにおいて、クラスのプロパティ引数として2次元配列を使用するにはどのように記述したらよいのでしょうか。たとえば、クラスのコードとして、下記のように
Public Class clsData
Private mastrData(2, 2) As String
Public Property pastrData(intData As String,intData2 as String) As String
Get
pastrData(intData, intData2) = mastrData(intData, intData2)
End Get
Set(ByVal Value As String)
mastrData(intData, intData2) = Data
End Set
End Property
End Class
記述すると、Valueの記述でエラーになりますし、
Public Class clsData
Private mastrData(2, 2) As String
Public Property pastrData(intData As String,intData2 as String) As String
Get
pastrData = mastrData
End Get
Set(ByVal Value As String)
mastrData = Value
End Set
End Property
End Class
でもうまくいきません。そもそも、配列を受け渡しに使えるのでしょうか。どのような記述をしたらよいかご存じの方がおられましたら、ご教授いただけないでしょうか。よろしくお願いします。
こんな感じ?
Public Class clsData
Private mastrData(2, 2) As String
Public Property pastrData(ByVal intData As Integer, ByVal intData2 As Integer) As String
Get
Return Me.mastrData(intData, intData2)
End Get
Set(ByVal Value As String)
Me.mastrData(intData, intData2) = Value
End Set
End Property
End Class
まるるうさん、早速の書き込みありがとうございます
ReturnとMeを使うのですか。気がつきませんでした。早速試してみたところ正常に動きました。私のように思い込みの激しい者にはまさに「目から鱗」でした。教えていただき、どうもありがとうございます。助かりました。今後ともよろしくお願いします。
> ReturnとMeを使うのですか。気がつきませんでした。
大事なのはそこじゃない^^;
pastrData に戻り値を突っ込んでもいいし、Me は省略可能です。
Return を使っていれば、関数名が変更されても影響が無いため使っています。
Me は打てば入力候補が表示されるため使っています。
今回の質問内容とは無関係です。
> Public Property pastrData(intData As String,intData2 as String) As String
この場合、intData と intData2 は引数。pastrData プロパティは文字列1つを
やり取りするのでしょ?配列の(intData ,intData2)の要素を対象として。
関数名 pastrData は文字列1つを扱う変数と同義です。(As String で宣言されています)
> pastrData(intData, intData2) = mastrData(intData, intData2)
> pastrData = mastrData
どちらも配列のように扱ってるからNGが出てただけです。
ツイート | ![]() |