新しいコンソール アプリケーションを作成すると、これは正常にコンパイルされます。
Module Module1
Sub Main()
Console.ReadKey()
End Sub
End Module
別の方法は次のとおりです。
Imports System.Console
Module Module1
Sub Main()
ReadKey()
End Sub
End Module
私が今理解していないのは、これはコンソール アプリケーションであるため、これらのプロジェクトが次のようにコンパイルされるように作成されていないのはなぜですか?:
Module Module1
Sub Main()
ReadKey()
End Sub
End Module
別の言い方をすれば、それがコンソール アプリの場合、コンソールの名前空間をインポートする必要があるのはなぜですか?
winForms
これは私が言うアプリケーションを使用するときと同じ動作Me.someControl
ですか? そのような状況ではMe
、フォームの名前空間をインポートせずにコンパイルすることができます。
編集
Imports System.Console
Module Module1
Sub Main()
ReadKey()
Console.ReadKey() '<<adding namespace seems a bit pointless as I still need to specify Console
End Sub
Function ReadKey() As Boolean
Return True
End Function
End Module
さらに編集
Hans はさらなる動作を提案しており、これを再現するために次のようにしています。
ClassLibrary1
同じSolution
ように新しいものを追加しました...
コンソールConsoleSandpit
には、次のClassLibrary1
ような参照があります...
...唯一の問題は、上記からコンパイルエラーが発生することを期待していますが、問題なく実行されているようです!