長年VB6のプログラマをやっていた技術者がC#.NETでプログラムを作る時によく悩むのが APIの宣言方法と引数の渡し方だと思います。特にVB6でAny、String、構造体を使っていた時に C#.NETではどうするのか、、、長時間、検索エンジンに頼る事になると思います。 (C#.NETでAPIなんか使うな!! とか言わないの・・・) VB6とC#.NETのDeclare(宣言)方法の違いのポイントは以下のような感じです。 (1)VB6のDeclareはC#.NETの[DllImport("mydll.dll")]に対応します。 (2)VB6のLongは4バイトなのでVB.NETのIntegerは4バイト(Longは8バイト)に対応します。 (3)VB6の"String * 10"のような変数の宣言はC#.NETの"new String((char)0, 10)"に対応します。 しかしC#