
データを構造体で管理したいと思って、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も見ています
-
dllと同じプロジェクトにする方法
Visual Basic(VBA)
-
VB.NET getとsetの概念がわかりません。
Visual Basic(VBA)
-
オブジェクト参照がオブジェクト インスタンスに設定されていません というエラーについて
Microsoft ASP
-
-
4
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
5
データセットのレコード更新がしたい
Visual Basic(VBA)
-
6
クラスに配列を渡す方法
Visual Basic(VBA)
-
7
FriendとPublicの違い。。。
Visual Basic(VBA)
-
8
Handlesについて
Visual Basic(VBA)
-
9
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
10
.NETアプリを作ったときの .manifest ファイルって必要なの
C言語・C++・C#
-
11
asp.NET初心者です。「 ’Context’は’○○○’のメンバで
Microsoft ASP
-
12
Winmerge ファイルの中身は同じなのに黄色くなる
その他(OS)
-
13
VB.net 引数で配列変数を渡す際の要素数
Visual Basic(VBA)
-
14
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
.htaccessについて
-
PHPで、相対的な変数名の場合の...
-
サブネットマスクを用いたIP制...
-
file_existsが動作しない
-
tmhOAuthでtwitterに画像投稿
-
protectedなのにアクセスできな...
-
classの再定義エラーについて
-
ASPのResponse.WriteをPHPでは...
-
どういうプログラムを関数化を...
-
【シェル】case文でワイルドカ...
-
Smarty変数の値をJavascript変...
-
構造体の入れ子が構造体の場合...
-
Yahoo! JAPAN IDを新規取得でき...
-
Dosブロンプトでtabを出力したい
-
重複を無くしたい
-
「取得先」という表現について
-
【C#】DataGridViewの最大列数...
-
DB select文
-
ホスト名の取得できないアクセ...
-
IEのお気に入りについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA コレクションに2次元配列...
-
PHPの名前空間インポートについて
-
エラーの理由が分りません。Pri...
-
どういうプログラムを関数化を...
-
VB.NETからVBAマクロ(引数)を呼...
-
可変変数にアロー演算子を使いたい
-
Let's Encryptで自動更新がされ...
-
classの再定義エラーについて
-
PHP、ヒアドキュメント内でのIF...
-
protectedなのにアクセスできな...
-
既存関数の上書き
-
[C++]std:mapの扱いを教えて頂...
-
file_existsが動作しない
-
Smarty変数の値をJavascript変...
-
PHPで呼び出し元の関数名の取得...
-
継承クラスで定義したメソッド...
-
UNIX CP "で上書きしません"
-
ローテーションバナー広告について
-
変数の内容が突然変化するのは...
-
stripslashesが効かない!?
おすすめ情報