
データを構造体で管理したいと思って、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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
classの再定義エラーについて
-
Smarty変数の値をJavascript変...
-
[CakePHP] Paginatorのリンクが変
-
Excel VBA:特定の文字列以降(...
-
findstrのerrorlevel
-
wordの差し込み印刷で文字...
-
shシェルスクリプト 空白行の...
-
「取得先」という表現について
-
EXCEL、マクロ-改ページ行番号...
-
【C#】DataGridViewの最大列数...
-
XMLのタグの有無をPHPで判定し...
-
VB.NETでボリュームを取得・設...
-
ps3で久しぶりにCDの音楽情報取...
-
ExcelVBAで、FileSystemObject...
-
複数ページでセッションを使わ...
-
Google scholarがひらけなくな...
-
開始と終了を指定して、その間...
-
webサイトの参考資料:サイト名 ...
-
(Win32)ファイルパスから物理ド...
-
コンビニで住民票を取得した場...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA コレクションに2次元配列...
-
次のhtml・cssでspan内の文字を...
-
vb作成したらでbeep音が鳴りま...
-
PHPの名前空間インポートについて
-
どういうプログラムを関数化を...
-
python の import エラー Modul...
-
fwriteで改行出来ない
-
エラーの理由が分りません。Pri...
-
サブネットマスクを用いたIP制...
-
VB.NETからVBAマクロ(引数)を呼...
-
タグの追加
-
Let's Encryptで自動更新がされ...
-
[CakePHP] Paginatorのリンクが変
-
PHPでの画像の形式の変換
-
classの再定義エラーについて
-
ExcelVBAで部分一致(*)をしたい
-
PHP、ヒアドキュメント内でのIF...
-
[C#]Arraylistに追加した構造体...
-
Smarty変数の値をJavascript変...
-
number_formatが勝手に四捨五入
おすすめ情報