データを構造体で管理したいと思って、class testclassというクラスを作成しました。
それをtest2clsssで使うと思っているのですが、次のようなエラーが出ます
'testclass.code' は 'Private' であるため、このコンテキストではアクセスできません。
ソースは次のようなものです。
Public Class testclass
Dim code As String
End Class
Public Class test2class
Private Sub testsub()
Dim test As New testclass
test.code = "data" '←test.codeが駄目と言われる
End Sub
End Class
subをPublicにしても同じエラーが出ています。
エラーの意味・原因は何で、どうすれば修正できるのでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
'>subをPublicにしても
'あ、見ている場所そのものが違います。直すのはtestclassの方です
'僕自身はメンバ変数自体は全てProtectedかPrivateにして,
'Publicなプロパティを作るのが好みです。
Public Class testclass
Private testclasscode As String 'メンバにおいてはPrivateと書いたのと同じだった。
Public Property Code As String
Get
return testclasscode
End Get
Set(value As String)
testclasscode = value
End Set
End Property
End Class
Public Class test2class
public Shared Sub Main()
Dim x As test2class = New test2class()
End Sub
Private Sub testsub()
Dim test As testclass = new testclass()
test.code = "data"
End Sub
End Class
======================================
#人によっては
「代入と同時に何か処理を行なったりするのでなければ,記述が煩雑なだけで何も益がない」としてこういう書き方を好む人もいます。僕はメンバ変数をPublicにするのは嫌いですが。
Public Class testclass
Public code As String 'メンバ自体をPublicにする。
End Class
Public Class test2class
Public Shared Sub Main()
Dim x As test2class = New test2class()
End Sub
Public Sub New()
testsub()
End Sub
Private Sub testsub()
Dim test As testclass = new testclass()
test.code = "data"
End Sub
End Class
ありがとうございます。
てっきり利用している側に問題があると思い込んでました。
この部分だけで3時間も悩んでいました。
気分すっきりです。
ありがとうございます。
プログラムの書き方は悩ましいですね。
試行錯誤しながら書いています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Java java final 1 2022/06/10 22:49
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
”パラメータ値を TextBox から String に変換できません
SQL Server
-
-
4
dllと同じプロジェクトにする方法
Visual Basic(VBA)
-
5
DataGridViewで指定したセルの値を取得
Visual Basic(VBA)
-
6
値を返さないコード パス
Visual Basic(VBA)
-
7
GROUP BYでエラーが発生
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETからVBAマクロ(引数)を呼...
-
PHP、ヒアドキュメント内でのIF...
-
ExcelVBAで部分一致(*)をしたい
-
PHPプログラム上で「URLを直接...
-
可変変数にアロー演算子を使いたい
-
VBA コレクションに2次元配列...
-
どういうプログラムを関数化を...
-
構造体の入れ子が構造体の場合...
-
try~catch
-
ナベアツプログラム(3の倍数...
-
DTOとEntityの差は何ですか。
-
「取得先」という表現について
-
バッチファイルでpingの結果を...
-
Yahoo! JAPAN IDを新規取得でき...
-
WordでExcelデータを差込...
-
format関数について
-
switch()文で値の大小比較
-
Dosブロンプトでtabを出力したい
-
EXCEL、マクロ-改ページ行番号...
-
【C#】DataGridViewの最大列数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Let's Encryptで自動更新がされ...
-
VBA コレクションに2次元配列...
-
VB.NETからVBAマクロ(引数)を呼...
-
エラーの理由が分りません。Pri...
-
PHP、ヒアドキュメント内でのIF...
-
PHPでの画像の形式の変換
-
可変変数にアロー演算子を使いたい
-
CSVファイルをブラウザのキャッ...
-
次のhtml・cssでspan内の文字を...
-
VB.NETSystem.Xml 要素数を得る...
-
どういうプログラムを関数化を...
-
ExcelVBAで部分一致(*)をしたい
-
PHPの変数値をリンクさせたい
-
PHPプログラム上で「URLを直接...
-
protectedなのにアクセスできな...
-
ASPのResponse.WriteをPHPでは...
-
file_existsが動作しない
-
PHPでXMLの置換 replaceData
-
[C#]Arraylistに追加した構造体...
-
[C++]std:mapの扱いを教えて頂...
おすすめ情報