![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
データを構造体で管理したいと思って、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)
-
dllと同じプロジェクトにする方法
Visual Basic(VBA)
-
FriendとPublicの違い。。。
Visual Basic(VBA)
-
-
4
Integer変数をカラにしたいのですが
Visual Basic(VBA)
-
5
フォームがリサイズされた時の各コントロールの位置変更コードについて
Visual Basic(VBA)
-
6
共通モジュールでDBへの接続と利用方法
Visual Basic(VBA)
-
7
SPREAD(GrapeCity)のセルにフォーカスを設定するにはどうしたらいいのでしょうか?
Visual Basic(VBA)
-
8
正整数の半角数字かどうか判定する
Visual Basic(VBA)
-
9
”パラメータ値を TextBox から String に変換できません
SQL Server
-
10
Handlesについて
Visual Basic(VBA)
-
11
CellEnterイベント仕様について
Visual Basic(VBA)
-
12
DataGridViewでyyyy/MM/dd
Visual Basic(VBA)
-
13
GROUP BYでエラーが発生
SQL Server
-
14
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
15
[VB.net] Excelへの画像貼り付け処理についての疑問
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP正規表現の難題・preg_repla...
-
「取得先」という表現について
-
積立投資してます。現在平均取...
-
VBAでPDFのアクティブページ番...
-
Yahoo! JAPAN IDを新規取得でき...
-
Dosブロンプトでtabを出力したい
-
各クライアントマシンのログイ...
-
EXCEL VBAでのCSV出力について
-
DTOとEntityの差は何ですか。
-
IEを使わないでhtmlテキストを...
-
逆順表示したい?
-
URLエンコードされなかったパラ...
-
syntax error, unexpected 'ech...
-
phpでcookieがうまく保存されない
-
Cronでdate()を実行して一部の...
-
バッチファイルでpingの結果を...
-
VB.NETでボリュームを取得・設...
-
ps3で久しぶりにCDの音楽情報取...
-
PHPのセッション有効期限について
-
Windows NT4.0 と 2000 のCP...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA コレクションに2次元配列...
-
VB.NETからVBAマクロ(引数)を呼...
-
classの再定義エラーについて
-
VB6のコンボボックスのテキスト...
-
可変変数にアロー演算子を使いたい
-
PHPでの画像の形式の変換
-
VB.NETSystem.Xml 要素数を得る...
-
protectedなのにアクセスできな...
-
issetで変数の存在をチェックし...
-
vb作成したらでbeep音が鳴りま...
-
どういうプログラムを関数化を...
-
PHPの名前空間インポートについて
-
エラーの理由が分りません。Pri...
-
関数から関数を呼び出したとき...
-
PHP、ヒアドキュメント内でのIF...
-
protectedなのにアクセスできな...
-
PHPの変数値をリンクさせたい
-
関数の動きと記述方法の意味を...
-
htmlで変数の表示
-
アロー演算子について
おすすめ情報