Breve diccionario Delphi-C#
¿Cómo se hará xxx en C#? En el aprendizaje de un lenguaje de programación, es común hacer comparaciones con lenguajes o sistemas conocidos. A veces la correspondencia es exacta; a veces, sólo aproximada, pero sirve como guía o incluso como recurso nemotécnico. Entre la VCL de Delphi y el CLR de C#, existen muchas diferencias, pero también unas cuantas similitudes. Quiero que esta página sirva como referencia esporádica a quienes, como yo, entran en C# habiendo pasado primero por Delphi. Y espero aumentar este diccionario de correspondencias en la medida en que yo mismo me familiarice con el Common Language Runtime.
He encontrado, además, un artículo en la MSDN que puede ayudar cuando el punto de partida es una función del API de Win32:
Tipos de datos básicos |
Delphi: |
Variant
| | C#: |
object (incluyendo boxing&unboxing)
| Delphi: |
Assert
| | C#: |
System.Diagnostics.Debug.Assert (más un TraceListener)
|
Manejo de ventanas |
Delphi: |
TForm.FormStyle = fsMDIForm
| | C#: |
Form.IsMDIContainer = true
| Delphi: |
TForm.FormStyle = fsMDIChild
| | C#: |
Form.MdiParent = ventanaPrincipal;
| Delphi: |
TControl.Align
| | C#: |
Control.Dock
| Delphi: |
TForm.ShowModal
| | C#: |
Form.ShowDialog()
| Delphi: |
Button1.Default := True
| | C#: |
Form.AcceptButton = button1
| Delphi: |
TForm.ModalResult, TButton.ModalResult
| | C#: |
Form.DialogResult, Button.DialogResult
| Delphi: |
TButton.Click
| | C#: |
Button.PerformClick()
| Delphi: |
TButton.OnClick
| | C#: |
Button.Click (es un evento)
| Delphi: |
Screen.ActiveForm
| | C#: |
static Form.ActiveForm |
Delphi: |
Application.ExeName
| | C#: |
System.Windows.Forms.Application.ExecutablePath
| Delphi: |
Application.OnException
| | C#: |
Application.ThreadException
|
Acceso a datos |
Delphi: |
TCustomConnection (y sus descendientes)
| | C#: |
IDbConnection (y las clases que lo implementan)
| Delphi: |
TDataSetProvider
| | C#: |
IDbDataAdapter (SqlDataAdapter, OleDbDataAdapter, etc)
| Delphi: |
TClientDataSet
| | C#: |
DataSet, DataTable
| Delphi: |
TField
| | C#: |
DataColumn
| Delphi: |
TField.Required = True
| | C#: |
DataColumn.AllowDBNull = false
| Delphi: |
Variants.Null
| | C#: |
System.DBNull.Value
|
El modelo de componentes |
Delphi: |
procedure Loaded; override;
| | C#: |
Implementar ISupportInitialize
| Delphi: |
property X ... default 100;
| | C#: |
[DefaultValue(100)] int X { get; set; }
| Delphi: |
public property X: Y;
| | C#: |
[Browseable(false)] public Y X { get; set; }
| Delphi: |
TService (aplicaciones de servicio)
| | C#: |
System.ServiceProcess.ServiceBase
|
|