□投稿者/ よねKEN (168回)-(2008/07/28(Mon) 14:02:19)
|
> [Integer]とすると「型'Integer'が定義されていません。」となるのは、どうしてでしょうか。 > なんとなくは、想像できるのですが、納得する言葉に変換できません。
System.Stringクラスが.NET Frameworkにはあります。 VBのImportsステートメントを使って
Imports System
とファイルの先頭に記述しておけば、System.Stringの「System.」を省略して単に「String」 と記述することができます。また、VBのキーワードにはStringがあります。
つまり、.NET FrameworkのSystem.Stringクラスの略称としての「String」と VBのキーワードとしての「String」があり、これらは結果的に同じものを意味しますが、 たまたま名前が同一であったというだけです。
同様に、VBのキーワードIntegerは.NET FrameworkではSystem.Int32構造体が対応します。 Integerというキーワードはありますが、Integerというクラス(構造体)は.NET Frameworkには存在しません。
[Integer]と書いた場合、コンパイラはキーワードのIntegerではなく、クラスのIntegerを探そうとします。 しかし、Integerクラスはありませんので、「定義されていません」となります。
|
|