tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルClass 内で Const定義された変数値の変更は不可ですか?
記事No4161
投稿日: 2006/08/31(Thu) 13:44
投稿者すずん
あるクラス内で、下記のように定義された変数があります。(共通で利用しているクラス)
ある場合だけ、この値を別な値としたいのですが、Constで定義した値を変更する事は出来ないのでしょうか。
当方初心者で、素人的な質問かもしれませんが、よろしくお願いします。
また、以下にコードサンプルを記しますが、これまた素人的な書き方でうまく伝わらないかもしれません・・。

--- MyClass1.vb ---
Public Class CLASS1

Public Const MyArg1 As String = "Test1"
  :

--- MyTest1.vb ---
Dim xArg As String

MyArg1 = "Test2"
  :

--- MyTest2.vb ---
Dim PubArg As String

PubArg = MyArg1  <--- ある場合だけ、Test2 という値を取得したい。
  :

[ツリー表示へ]
タイトルRe: Class 内で Const定義された変数値の変更は不可ですか?
記事No4162
投稿日: 2006/08/31(Thu) 13:58
投稿者るしぇ
>Const定義された変数値
constant(名) 1 〔理〕定数,常数,恒数

[Const ステートメント]
http://msdn2.microsoft.com/ja-jp/library/cyxe49xw.aspx

Const定義された時点で変数ではありません。定数です。
変数にしたいのなら変数として宣言してください。

[ツリー表示へ]
タイトルRe^2: Class 内で Const定義された変数値の変更は不可ですか?
記事No4163
投稿日: 2006/08/31(Thu) 14:31
投稿者すずん
> >Const定義された変数値
> constant(名) 1 〔理〕定数,常数,恒数
>
> [Const ステートメント]
> http://msdn2.microsoft.com/ja-jp/library/cyxe49xw.aspx
>
> Const定義された時点で変数ではありません。定数です。
> 変数にしたいのなら変数として宣言してください。

早々の回答有難うございます。定数となるのですね。
ちなみに、クラスを再定義のような形では出来ないでしょうか。

[ツリー表示へ]
タイトルRe^3: Class 内で Const定義された変数値の変更は不可ですか?
記事No4164
投稿日: 2006/08/31(Thu) 15:27
投稿者るしぇ
> ちなみに、クラスを再定義のような形では出来ないでしょうか。
自分しか分からない独自の表現をされても、こちらで理解することはできません。
> クラスを再定義
そのような表現を聞いたことがありませんが、もとになった情報があるなら
そのページなどをリンクするなり、掲示板(雑談&画像投稿)に投稿するなり
して説明してください。

もしくは、最初の質問のように、具体的な操作をからめて説明してみて
ください。

[ツリー表示へ]
タイトルRe^4: Class 内で Const定義された変数値の変更は不可ですか?
記事No4176
投稿日: 2006/09/02(Sat) 17:12
投稿者すずん
下手(不明)な質問内容で申し訳ありません。
処理のイメージでいいますと、

--- MyClass1.vb ---
Public Class CLASS1

Public Const MyArg1 As String = "Test1"
  :

--- MyTest1.vb ---
Dim xArg As String

CLASS1.MyArg1 = "Test2"       <--- 変更したい値をセットし
クラス定義のリロード(CLASS1)  <--- その変更を有効にする。
                                    といったように、MyClass1 の内容を置き換える?オーバーロードする?といった事は出来ないのでしょうか。
  :

--- MyTest2.vb ---
Dim PubArg As String

PubArg = MyArg1  <--- ある場合だけ、Test2 という値を取得したい。
  :

説明下手で申し訳ありません。

[ツリー表示へ]
タイトルRe^5: Class 内で Const定義された変数値の変更は不可ですか?
記事No4177
投稿日: 2006/09/02(Sat) 20:06
投稿者Hongliang
それはもはや定数 constant じゃないです。

[ツリー表示へ]
タイトルRe^6: Class 内で Const定義された変数値の変更は不可ですか?
記事No4186
投稿日: 2006/09/04(Mon) 19:49
投稿者すずん
> それはもはや定数 constant じゃないです。

確かに言えてます。失礼しました。
るしぇ さんも回答有難うございました。

[ツリー表示へ]
タイトル上に同じ
記事No4184
投稿日: 2006/09/04(Mon) 15:33
投稿者るしぇ
質問内容が変わって無いなら回答も同じです。
> Const定義された時点で変数ではありません。定数です。
> 変数にしたいのなら変数として宣言してください。
…回答を聞いてください。
……変数として宣言してください。

初期化以外で変更されたくないなら、コンストラクタ(New)で
内部(Private)変数を設定し、外部には ReadOnly のプロパティで
公開すればいいのでは?

[ツリー表示へ]