- PR -

基本的な質問

1
投稿者投稿内容
Mr.タナカ
ベテラン
会議室デビュー日: 2003/03/15
投稿数: 64
投稿日時: 2003-03-17 23:05
ASP.NETで開発を始めて2週間になりますが、ある事がずっと疑問になっています。
変数の宣言(Dim〜の部分)の部分なのですが、サンプルや本を見ている宣言方法と、私がやっている宣言方法が違うのです。
違っても何故か動いているので、あまり気にしていなかったのですが、最近「やっぱり自分は間違ってる?」って思うようになりました。

例えばコネクションオブジェクトの宣言方法だと...

 Dim objConnection As New OleDbConnection
自分
 Dim objConnection As New Oledb.OleDbConnection

これって、何故違うのでしょうか?
私の環境では、「New OleDbConnection」と言うものはありません。

プログラムには直接関係はありませんが、よろしくお願いします。
DaikiRyuto
大ベテラン
会議室デビュー日: 2002/07/23
投稿数: 200
投稿日時: 2003-03-17 23:49
引用:

Mr.タナカさんの書き込み (2003-03-17 23:05) より:

例えばコネクションオブジェクトの宣言方法だと...

 Dim objConnection As New OleDbConnection
自分
 Dim objConnection As New Oledb.OleDbConnection

これって、何故違うのでしょうか?
私の環境では、「New OleDbConnection」と言うものはありません。

プログラムには直接関係はありませんが、よろしくお願いします。



OleDbConnection クラスは完全な名前で書くと、
System.Data.OleDb.OleDbConnection
です。
System.Data.OleDbがusingされていれば、OleDbConnectionだけで識別できますし、
System.DataのみがusingされているならOledb.OleDbConnectionと修飾付きで指定しないと見つかりません。

ということではないんでしょうか。
Mr.タナカ
ベテラン
会議室デビュー日: 2003/03/15
投稿数: 64
投稿日時: 2003-03-18 00:01
DaikiRyutoさん、ありがとうございます。
書き込んだ内容は非常に分かりやすい内容でした。
書き込みの内容で質問があるのですが、「Using」ってのは「参照設定」の事でしょうか?
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2003-03-18 08:51
usingじゃなくてImportsですね、VB.NETですから。

「Imports」でヘルプを調べて見ると良いでしょう。
こいつを知らなくてもプログラムが書けてしまうというのがVB.NETの良いところ・・・なのかな。

>ASP.NETで開発を始めて2週間
というのは仕事ですか?それならまず会社にある技術書を一度読んでみることをお勧めします。
あるいは先輩に聞くとか。

趣味でやっているのなら、ケチケチせずに一冊くらい入門書を買いましょう。

それから、.NETの理解を深めたいなら断然C#です。
仕事なら仕方がないですが、趣味ならC#を使った方が幸せになれると思います。
Valhalla
ベテラン
会議室デビュー日: 2002/09/03
投稿数: 53
投稿日時: 2003-03-19 21:24
コード:

using System.Data;

public class test {
  public static void Main() {
    OleDb.OleDbConnection c;
  }
}



はダメなんだけど、

コード:

Imports System.Data

Module test
  Sub Main()
    Dim c As OleDb.OleDbConnection
  End Sub
End Module



はOKなんですね
NothingButXMLInfoSet
大ベテラン
会議室デビュー日: 2002/07/16
投稿数: 116
投稿日時: 2003-03-20 09:18
で、こういうことはできてしまうあたりに一貫性のなさを感じるのは私だけ?

コード:
namespace MyNS {
    namespace MySubNS {
        class SubNSClass {
            internal void Meth(){}
        }
    }
    class NSClass {
        static void Main() {
            MySubNS.SubNSClass c = new MySubNS.SubNSClass();
            c.Meth();
        }
    }
}

一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2003-03-20 10:06
>Valhallaさん

C#では名前空間を途中までusingってのはだめなんですよね。
それを、私は「System.DataSystem.Data.OleDbというのは親子関係ではなく、まったく別の名前空間がそれぞれあるだけだから」という解釈でした。
しかしそうするとNothingBut.NETFXさんの指摘されている事は確かに引っ掛かりますね。
NothingBut.NETFXさんの書き込みを見るまで考えたこともなかったですけど。
Valhalla
ベテラン
会議室デビュー日: 2002/09/03
投稿数: 53
投稿日時: 2003-06-06 22:00
そういえば、

コード:

namespace System {
    namespace Data {
        public class c2 {
             void m2() {
                OleDb.OleDbConnection c;
            }
        }
    }
}




コード:

namespace System.Data {
    public class c1 {
        void m1() {
            OleDb.OleDbConnection c;
        }
    }
}



もOKですね
1

スキルアップ/キャリアアップ(JOB@IT)