VB2008の勉強を始めて数週間の初心者です。
勉強用にいろいろとプログラムを作っているのですが、
構造体(Structure)を引数で渡して戻り値を取得する
Functionを作成してみました。
同一クラス内のPrivate Function の場合は問題ないのですいが、
追加した別クラスに Function を作成したところ
「 型 'TEST_A.Form1.str_IN' の値を 'TEST_A.Class1.str_IN' に変換できません。」
のエラーが表示されてしまいます。
別クラスのFunctionを使用する時、引数には構造体は指定できないのでしょうか?
なにか文法上の誤りがあるのでしょうか?
初心者なので変な質問してたらスイマセン。
詳しい方がいらっしゃいましたらよろしくお願いします。
------------------------------------------------------
Public Class Form1
Public Structure str_IN
Public in_aaa As String
End Structure
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) ~
Dim stin As New str_IN
'------------------------------------
stin.in_aaa = "aaa"
Label1.Text = Test_Sub(stin) '<------- これはok
'-------------------------------------
Dim cls = New Class1
stin.in_aaa = "aaa"
Label1.Text = cls.CFnk(stin) '<----- エラーになる
End Sub
Private Function Test_Sub(ByVal prm_in As str_IN) As String
Dim stin As New str_IN
Dim sout As String
sout = "test_aaa"
Return sout
End Function
End Class
------------------------------------------------------------
Public Class Class1 '新たに作成したクラス
Public Structure str_IN
Public in_aaa As String
End Structure
Public Function CFnk(ByVal prm_in As str_IN) As String
Dim stin As New str_IN
Dim sout As String
sout = "test_aaa"
Return sout
End Function
End Class
お礼
ありがとうございました Structureの宣言を外に出したらあっさり解決しました。