¿Cuál es la diferencia fundamental entre
vb.net y las instancias de la ventana C#?] en vb.net, hay una instancia predeterminada en cada ventana, mientras que C#no. Esta diferencia se originó en diferentes conceptos de diseño de diferentes idiomas. El atributo de VB.net (nombre)
identifica directamente la instancia de la clase de ventana, mientras que C#no tiene el concepto de esta instancia predeterminada.
Ejemplos predeterminados de vb.net:
]
El diseño de instancia predeterminado de VB.NET está diseñado para facilitar a los programadores que han migrado desde VB6. Los programadores de VB6 a menudo son difíciles de distinguir los tipos y tipos de tipos y tipos.
No hay una instancia predeterminada en la instancia predeterminada en C#: C#enfatiza los principios orientados al objeto y requiere que los programadores creen explícitamente instancias. A diferencia de VB.NET, C#no permite ningún atributo y método para nombrar el espacio de nombre global. Por lo tanto, C#no proporciona un mecanismo para definir la instancia predeterminada del tipo de definición.
Ejemplo de código:
// la única forma Form1 frm = nuevo form1 (); frm.show (); en vb.net, puede ser instanciado o explícitamente instanciado:
'Método común uno Form1.show () 'Método común 2 Dim frm como nuevo form1 () Frm.show ()
Generado Código generado:
El código IL generado por los dos código es diferente. En el método de instancia predeterminado de vb.net, use
newobj// 唯一方法
Form1 frm = new Form1();
frm.Show();
show () en la instancia recientemente creada. En C#, no hay necesidad de
para llamar al método' 常用方法一
Form1.Show()
' 常用方法二
Dim frm As New Form1()
frm.Show()
creado directamente. c#¿Puede simular la instancia predeterminada?
] puede simular la instancia predeterminada utilizando atributos estáticos en la clase de ventana C#para simular la instancia predeterminada. Sin embargo, este método no es lo suficientemente elegante y requiere un código de modelo adicional.
las razones para diseñar diferencias:
Las diferencias de diseño entre VB.NET y C#reflejan a sus respectivos usuarios de destino. Las características de instancia predeterminadas de VB.NET están diseñadas para ayudar a los programadores que se mueven de VB6. C#se centra en los principios orientados a los objetos y fomenta las clases instanciadas, para que los desarrolladores puedan controlar mejor el código.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3