.NET Compact Framework 開発デスクトップとの違い
更新 : 2007 年 11 月
デバイス プロジェクトを開始する前に、.NET Framework を使用したデスクトップ開発と .NET Compact Framework を使用したデバイス開発の違いについて理解することが重要です。
LINQ
.NET Compact Framework Version 3.5 の LINQ (Language-Integrated Query) には、デスクトップ LINQ 機能のサブセットが含まれます。. 詳細については、「.NET Compact Framework の LINQ」を参照してください。
Visual Basic のプログラミング要素
Visual Basic を使用して .NET Compact Framework に対してプログラムを作成する場合は、完全な .NET Framework に対してプログラムを作成する場合に使用できる関数やキーワードなどのプログラミング要素をすべて使用できるわけではありません。その違いは、「デバイス対応の Visual Basic の言語リファレンス」に要約されています。また、「Visual Basic リファレンス」にはそれらの要素に関する個別のトピックがあります。
My による開発
Visual Studio では、My.Resources、My.Forms、および My.WebServices がサポートされます。My.Application、My.Computer、My.User、または My.Settings はサポートされません。詳細については、「My の参照」を参照してください。
ファイルの入出力
Visual Basic では、ファイルの入出力 (I/O) に関して次の 2 つのオプションがあります。
標準の .NET FrameworkSystem.IO 名前空間。共通言語ランタイム (CLR: Common Language Runtime) のすべての言語はこれらのライブラリをサポートします。
以前のバージョンの Visual Basic に類似した開発環境を提供する、Visual Basic 固有のライブラリ一式。
デバイス プロジェクトでサポートされるのは、.NET FrameworkSystem.IO 名前空間だけです。FileSystem 名前空間によるファイル入出力は、次の理由のためにサポートされていません。
FileSystem 名前空間で頻繁に使用されるいくつかの機能が、デバイスに存在しません。たとえば、デバイスには、現在のディレクトリや現在のドライブという概念がありません。このため、ChDir 関数や ChDrive 関数は使用できません。
.NET FrameworkSystem.IO 名前空間だけをサポートすることにより、Visual Basic ヘルパー ライブラリのサイズを抑えることができます。このため、デバイス上の利用できる領域が多くなります。
暗黙の遅延バインディング
Visual Basic では、オブジェクト型 (Object) として宣言された変数に代入されるオブジェクトは、遅延バインディングされます。この型のオブジェクトは実行時にバインドされます。これらのオブジェクトに対しては、値を代入したり取得したりできます。ドット表記を使用してオブジェクト変数のメソッドまたはプロパティを指定することはできません。次のコードでは、オブジェクトのプロパティを取得しようとしているため、コンパイラ エラーが発生します。
dim a as object = "automobile"
dim i as integer = a.horsepower
COM 相互運用
デスクトップの開発者は、COM の相互運用性を使用することにより、既存の COM オブジェクトを利用しながら、自分のペースで .NET Framework に移行していくことができます。デバイス プロジェクトでサポートされるのは、COM 相互運用の特定のシナリオのみです。詳細については、「デバイスの COM 相互運用性」を参照してください。
デバッグ
実行中のプロセスへのアタッチは、デスクトップの場合とは多少異なります。詳細については、「方法 : マネージ デバイスのプロセスに接続する」を参照してください。
参照
概念
デバイス プロジェクト用 .NET Compact Framework リファレンス
Visual Basic における Me、My、MyBase、MyClass
参照
デバイス対応の Visual Basic の言語リファレンス