vb.netとc#のデフォルトのウィンドウ:2つの言語の違い
はじめに
VB.NETからC#に転向するプログラマーは、ウィンドウのデフォルトインスタンスなしにC#にウィンドウがない理由を疑うことがよくあります。この記事では、このテーマの詳細について説明し、VB.NETのデフォルトインスタンスの起源、違い、制限、およびC#のデフォルトインスタンスがない理由について説明します。 デフォルトインスタンスの原点
VB.NETでは、ウィンドウは名前属性を介して名前空間で一意です。この名前属性は、ウィンドウのデフォルトインスタンスにも便利です。この関数により、開発者は、明示的な作成インスタンスがない場合でも、その名前を直接使用してウィンドウにアクセスできます。たとえば、vb.netでは、
を使用して、最初にオブジェクトをインスタンス化する必要なくウィンドウを表示できます。 実装の違い
Form1.Show()
c#では、ウィンドウはデフォルトインスタンスを自動的に取得しません。ウィンドウを表示する場合は、ウィンドウクラスのインスタンスを作成し、Form1
メソッドを呼び出す必要があります。これは、C#がより多くのクラス指向のオブジェクトに従うためです。クラスのインスタンスはクラス自体とは異なります。
生成されたilコード
興味深いことに、2つの言語によって生成されたILコードは、より深い違いを明らかにしています。 VB.NETでは、デフォルトインスタンスはウィンドウクラスの静的メソッドとして表されます。一方、C#では、メソッドはインスタンスメソッドです。この違いはそのような事実を強化します。C#では、ウィンドウはクラス自体ではなく、クラスのインスタンスと見なされます。 Show()
VB.NETのデフォルトインスタンスメカニズムは、ウィンドウに直接アクセスしたいプログラマーにショートカットを提供します。また、明示的なインスタンスなしで作業することに慣れているVB6プログラマーの期待に沿っています。ただし、この利便性には費用がかかります。 staticによって生成されたメソッドは、パラメーターを受け入れることができず、インスタンスメソッドに不快になります。
C#Show()
の同等の方法
結論
VB.NETのウィンドウのデフォルトインスタンスの存在は、基本ベースの言語の起源から現代のオブジェクト指向言語への言語の進化を反映している履歴製品です。一方、C#は、より純粋なオブジェクト指向の方法を使用します。ここでは、ウィンドウはクラスのインスタンスであると厳密に考えられており、明示的にインスタンス化する必要があります。これらの2つの言語を使用するプログラマーにとって、これらの方法の違いと制限を理解することは不可欠です。 Show()
以上がvb.netには、C#が表示されない場合にデフォルトのフォームインスタンスがあるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。