C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

最初に実行されるコード

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■85817 / inTopicNo.1)  最初に実行されるコード
  
□投稿者/ パラゴン (1回)-(2017/11/27(Mon) 11:51:04)

分類:[.NET 全般] 




Private aaa As Single = 4

などのコードを書いておくと、
そのモジュール内の全てのSubが実行される前に
変数に数値が代入されます。


Private Labels As New Dictionary(Of String, String)()

Private Sub LabelsInit()

Labels.Add("g/cm^3", "Density")
Labels.Add("N", "Force")

End Sub

というようなSubを最初に実行されるようにしたいのですが
どのようにすれば良いですか?





引用返信 編集キー/
■85818 / inTopicNo.2)  Re[1]: 最初に実行されるコード
□投稿者/ Hongliang (575回)-(2017/11/27(Mon) 11:58:03)
http://smdn.jp/programming/vb.net/module/
に説明されているNew()はどうでしょうか?
引用返信 編集キー/
■85819 / inTopicNo.3)  Re[1]: 最初に実行されるコード
□投稿者/ 魔界の仮面弁士 (1481回)-(2017/11/27(Mon) 12:12:48)
No85817 (パラゴン さん) に返信
> というようなSubを最初に実行されるようにしたいのですが

VB2010 以降であれば、このように書けますよ。

Private Labels As New Dictionary(Of String, String)() From {{"g/cm^3", "Density"}, {"N", "Force"}}
引用返信 編集キー/
■85820 / inTopicNo.4)  Re[1]: 最初に実行されるコード
□投稿者/ shu (1071回)-(2017/11/27(Mon) 13:28:34)
2017/11/27(Mon) 13:29:30 編集(投稿者)
No85817 (パラゴン さん) に返信
> 
> 
> 
> Private aaa As Single = 4
> 
> などのコードを書いておくと、
> そのモジュール内の全てのSubが実行される前に
> 変数に数値が代入されます。
> 
> 
>     Private Labels As New Dictionary(Of String, String)()
> 
>     Private Sub LabelsInit()
> 
>         Labels.Add("g/cm^3", "Density")
>         Labels.Add("N", "Force")
> 
>     End Sub
> 
> というようなSubを最初に実行されるようにしたいのですが
> どのようにすれば良いですか?
> 

必要になるまでインスタンスを作成しないならこんな方法もあります。
使うときはLabelsを使って、_Labelsを使わないようにします。

    Private _Labels As Dictionary(Of String, String) = Nothing

    Private ReadOnly Property Labels() As Dictionary(Of String, String)
        Get
            If _Labels Is Nothing Then
                _Labels = New Dictionary(Of String, String)()
                LabelsInit()
            End If
            Return _Labels
        End Get
    End Property

    Private Sub LabelsInit()

        _Labels.Add("g/cm^3", "Density")
        _Labels.Add("N", "Force")

    End Sub

 

引用返信 編集キー/
■85821 / inTopicNo.5)  Re[2]: 最初に実行されるコード
□投稿者/ パラゴン (2回)-(2017/11/27(Mon) 18:05:40)
Newで解決しました
ご回答ありがとうございます。

解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ