vb.netのデフォルトフォームインスタンスvs. C# 'の明示的なインスタンス
VB.NETは、名前空間を介して直接アクセス可能なデフォルトのフォームインスタンスを提供し、フォームの名前を使用してアクセスを簡素化します。 ただし、この機能は、クラスの定義とオブジェクトインスタンスの間のラインを曖昧にし、オブジェクト指向のプログラミング原則を完全に把握する可能性があります。
の二重の性質 とも呼ばれ、名前空間内に存在し、潜在的な混乱を増します。
VB.NETでの 異なるILコード生成Show()中間言語(IL)コードを調べると、明確なアプローチが明らかになります。 vb.netの は、明示的にインスタンス化されたオブジェクトのメソッドを直接呼び出します。
C#の設計選択:明示的なオブジェクトの作成Form1
を理解しています
VB.NETでは、Form1
Form1
Show()
メソッドのアクセシビリティは、名前空間内の共有(静的なC#)メソッドとしての実装に由来します。これにより、明示的なオブジェクト作成なしでデフォルトインスタンスのメソッドを直接呼び出すことができます。
Show()
callは、名前空間の共有Form1.Show()
Show()
frm.Show()
C#のデフォルトインスタンスの脱落は、明確なタイプオブジェクトの分離に重点を置いています。 C#は、オブジェクトのインスタンス化と型階層の正確な理解を強化するShow()
を使用して、明示的なオブジェクトの作成を義務付けます。 このアプローチは、より多くのコードを必要としますが、より良いオブジェクト指向のプログラミングプラクティスを促進します。
以上がvb.netには、C#が表示されない場合にデフォルトのフォームインスタンスがあるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。