The default windows in VB.NET and C#: Differences in the two languages
Introduction
Programmers who turn from VB.NET to C#often doubt why there are no windows in C#without the default instance of the window. This article explores the details of this theme, discusses the origin, differences and limitations of the default instance in VB.NET, and the reasons for the lack of default instances in C#.
The origin of the default instance
In vb.net, the window is unique in the name space through its name attribute. This name attribute is also convenient for the default instance of the window. This function allows developers to directly use its name to access the window, even if there is no explicit creation instance. For example, in VB.NET, you can use to display the window without the need to instantiate the object first.
Implementation differences Form1.Show()
Form1
method. This is because C#follows more class -oriented objects, where the instances of the class are different from the class itself. The generated IL code
Show()
Interestingly, the IL code generated by the two languages reveals deeper differences. In VB.NET, the default instance is expressed as a static method on the window class. On the other hand, in C#, the
Advantages and limitations
The default instance mechanism in vb.net provides a shortcut for programmers who want to directly access the window. It is also in line with the expectations of VB6 programmers who are accustomed to working without explicit instances. However, this convenience is costly. The method generated by static can not accept the parameters, making it uncomfortable with the instance method.
Show()
The equivalent method in c#
Although C#itself does not support the default instance of the window, it can simulate this behavior by creating a global static attribute that returns a window -class instance. However, this method is not concise enough and requires additional model code.
Conclusion Show()
The above is the detailed content of Why Does VB.Net Have Default Form Instances While C# Doesn't?. For more information, please follow other related articles on the PHP Chinese website!