none
クラス参照について RRS feed

  • 質問

  • Visual Studio2008、asp.net、VBでwebアプリを作っています。

    クラスファイルを2つ追加し(aaa.vbとbbb.vb)、bbb.vbにあるクラスからaaa.vbにあるクラスを参照しようとすると、「宣言が必要です」のエラーメッセージがでます。

    記述したコードは以下の通りです。

    「aaa.vb」

    Public Class AaaModule
        Public PNumber As Integer

        Public Function RMail() As Integer
            Dim answer As Integer

            answer = PNumber
            Return answer

        End Function

    End Class

    「bbb.vb」

    Public Class BbbModule
        Dim rclass As New AaaModule()

        rclass.PNumber = 1    'rclassの入力候補が出てこない 宣言が必要ですのエラー

        rclass.RMail()       '宣言が必要ですのエラー

    End Class

    asp.vbファイルからは参照できますが、.vbファイル同士では参照できない状態になっているみたいです。

    クラスファイルにあるクラスを別のクラスファイルにあるクラスから参照するにはどうすればいでしょうか?

    初歩的な質問で恐縮ですが宜しくお願いします。

    2013年9月8日 6:18

回答

すべての返信

  • > Visual Studio2008、asp.net、VBでwebアプリを作っています。

    ご自分の環境(OS, IIS, ASP.NET のバージョンなど)、Web Forms or MVC どちらか、前者の場合 Web サイトプロジェクトなのか Web アプリケーションプロジェクトなのか、クラスファイルはどのフォルダに配置したのかを書いてください。

    2013年9月8日 8:19
  • Visual Studio2008、asp.net、VBでwebアプリを作っています。

    クラスファイルを2つ追加し(aaa.vbとbbb.vb)、bbb.vbにあるクラスからaaa.vbにあるクラスを参照しようとすると、「宣言が必要です」のエラーメッセージがでます。

    記述したコードは以下の通りです。

    「aaa.vb」

    Public Class AaaModule
        Public PNumber As Integer

        Public Function RMail() As Integer
            Dim answer As Integer

            answer = PNumber
            Return answer

        End Function

    End Class

    「bbb.vb」

    Public Class BbbModule
        Dim rclass As New AaaModule()

        rclass.PNumber = 1    'rclassの入力候補が出てこない 宣言が必要ですのエラー

        rclass.RMail()       '宣言が必要ですのエラー

    End Class

    asp.vbファイルからは参照できますが、.vbファイル同士では参照できない状態になっているみたいです。

    クラスファイルにあるクラスを別のクラスファイルにあるクラスから参照するにはどうすればいでしょうか?

    初歩的な質問で恐縮ですが宜しくお願いします。

    .Net Frameworkのバージョンは3.5です。

    新規プロジェクトでASP.NET webアプリケーションを作成し、いくつかの画面とクラスを2つ追加(aaa.vbファイルに1つのクラスとbbb.vbに1つのクラスを作成)しました。上司からMVCとして動作するように言われ、クラスファイルを作ってそこにクラスを作成しました。

    クラスファイルはユーザー/ドキュメント/Visual Studio 2008/projects/webapplication/webapplicationにあります。

    .aspや.asp.vbファイルと同じ場所です。

    2013年9月8日 8:41
  • > 上司からMVCとして動作するように言われ、クラスファイルを作ってそこにクラスを作成しました。

    仕事でやっているプロの方ですか。であれば、上司、先輩、同僚に聞いてください。

    2013年9月8日 9:12
  • 同じもののようなのでリンクしておきます。

    http://bbs.wankuma.com/index.cgi?mode=al2&namber=67890

    • 回答としてマーク 星 睦美 2013年9月9日 0:27
    2013年9月8日 11:18
  • 自分は趣味のサンデープログラマーなので業界事情は知らないのですが、実際こんな感じなのでしょうか?

    2013年9月8日 11:33
  • 上司と書きましたがお客様のことで、社内には技術者はいません。その説明が必要とは思わず、上司と書いてしまいました。

    また、プロであれば質問してはいけなかったのでしょうか?

    このサイトの使い方を探したのですが見つけられず、作法がわかっていなかったのでご迷惑をお掛けしました。

    ルールを記載したページなどがあれば教えて頂きたいです。

    2013年9月8日 11:42
  • このサイトの使い方を探したのですが見つけられず、作法がわかっていなかったのでご迷惑をお掛けしました。
    ルールを記載したページなどがあれば教えて頂きたいです。

    サイトの使い方と言うよりは、コミュニティへの接し方というべきでしょうか。
    (MSDN フォーラムに関するルールなどは、下部の使用条件やフォーラム内のマイクロソフトからのお知らせが相当します)

    過程を示さず、他のサイトに質問を広げていく、連携させないといった行為は、回答を試みる方々のリソースをいたずらに消費します。
    質問者側にも、別サイトで受けた指摘を何度かされて不満やストレスを感じるなどのデメリットもあるでしょう。
    「マルチポスト」と呼ばれて敬遠されるので意識しておいた方がよいです。

    メーリングリストに対する接し方を説いたもの ですが、一度お読みいただければ参考になるかと思います。

    上司と書きましたがお客様のことで、社内には技術者はいません。その説明が必要とは思わず、上司と書いてしまいました。
    また、プロであれば質問してはいけなかったのでしょうか?

    ダメではありません。

    ところで、今は学習期間として確保していると考えてもよいのでしょうか?
    案件の難易度・ボリュームは存じませんが、今回の質問が出るあたりから業務的に大丈夫なのかなと心配しています。

    今回提示されているコードは、問題の出ているコードそのものだとすると、かなり初歩のやらかした系の問題です。
    (Sub も Function もないことが原因だとすると、この先が不安です。。。)

    2013年9月8日 12:53
  • 過程を示さず、他のサイトに質問を広げていく、連携させないといった行為は、回答を試みる方々のリソースをいたずらに消費します。
    質問者側にも、別サイトで受けた指摘を何度かされて不満やストレスを感じるなどのデメリットもあるでしょう。
    「マルチポスト」と呼ばれて敬遠されるので意識しておいた方がよいです。

    Azuleanさんのおっしゃる通りです。

    常識をふまえておらず、恥ずかしいです。

    今後は改めます。

    今回提示したコードは本物ではありません。

    実装前の調査段階で、.vbファイル同士でクラス参照できるかどうかを質問したく、適当に書いたコードで意味はないです。

    いろいろと教えて頂きありがとうございました。

    2013年9月8日 13:11
  • フォーラム オペレーターの星 睦美です。
    SJunJUne さん、返信ありがとうございます。

    Azulean さんの返信からリンクされている、別の掲示板への投稿に回答が返信されています。MSDNフォーラムでは今回のスレッドをクローズさせていただきますね。

    それでは、これからもMSDN フォーラムをお役立てください。

    フォーラム オペレーター 星 睦美 - MSDN Community Support

    2013年9月9日 0:32