データを構造体で管理したいと思って、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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
VB.NETでフォーム間でのコントロールの参照
Visual Basic(VBA)
-
-
4
DataGridViewで指定したセルの値を取得
Visual Basic(VBA)
-
5
return trueとreturn falseの用途・違いは・・・?
JavaScript
-
6
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
7
GridviewとDataGridviewの違い
Microsoft ASP
-
8
アクセスできない保護レベルエラーが発生します
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
.htaccessについて
-
PHPでの画像の形式の変換
-
[C++]std:mapの扱いを教えて頂...
-
PHPで連番を繰り返す
-
エラーの理由が分りません。Pri...
-
次のhtml・cssでspan内の文字を...
-
可変変数にアロー演算子を使いたい
-
switch()文で値の大小比較
-
PHPのセッション有効期限について
-
DTOとEntityの差は何ですか。
-
phpでcookieがうまく保存されない
-
wordの差し込み印刷で文字...
-
Dosブロンプトでtabを出力したい
-
アクセスの度にIPアドレスを変...
-
syntax error, unexpected 'ech...
-
「取得先」という表現について
-
バッチファイルでpingの結果を...
-
C++で特定のURLにアクセスする...
-
【C#】DataGridViewの最大列数...
-
URLのパラメータをGETのままで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA コレクションに2次元配列...
-
VB.NETからVBAマクロ(引数)を呼...
-
PHPでの画像の形式の変換
-
VB.NETSystem.Xml 要素数を得る...
-
エラーの理由が分りません。Pri...
-
CSVファイルをブラウザのキャッ...
-
PHP、ヒアドキュメント内でのIF...
-
既存関数の上書き
-
【シェル】case文でワイルドカ...
-
PHPの変数値をリンクさせたい
-
可変変数にアロー演算子を使いたい
-
どういうプログラムを関数化を...
-
ExcelVBAで部分一致(*)をしたい
-
サブネットマスクを用いたIP制...
-
PHP Catchable fatal error の...
-
VB6のコンボボックスのテキスト...
-
protectedなのにアクセスできな...
-
[C++]std:mapの扱いを教えて頂...
-
次のhtml・cssでspan内の文字を...
-
classの再定義エラーについて
おすすめ情報