Si se define una interfaz pública con una propiedad en conjunto A, usted podría entonces utilizar esta interfaz en el montaje B.
Ahora, puede cambiar la aplicación de la propiedad (tal vez ir a buscar el valor de una base de datos en lugar de almacenar en un campo). Luego puede recompilar el ensamblaje A y reemplazar uno anterior. La Asamblea B continuaría bien porque la interfaz no habría cambiado.
Sin embargo, si inicialmente había comenzado con un campo público, y decidió que esto no era adecuado y quería cambiar la implementación y para hacer eso, necesitaba convertirlo a una propiedad, entonces esto significaría que ' d tiene que cambiar la interfaz pública de la Asamblea A. Todos los clientes de esa interfaz (incluido el ensamblado B) también deberían ser recompilados y reemplazados para poder trabajar con esta nueva interfaz.
Por lo tanto, es mejor comenzar con una propiedad inicialmente. Esto encapsula la implementación de la propiedad, permitiéndole cambiarla en el futuro sin tener que preocuparse de qué clientes (incluido el ensamblado B) ya están en el mundo utilizando el ensamblaje A. Porque, si ya hay clientes en el mundo haciendo uso del ensamblaje A, cambiar la interfaz rompería todos los clientes. Si otro equipo de su empresa u otra empresa los usa, ¡no van a estar contentos si rompe sus ensamblajes al cambiar su interfaz!
Corrección leve (aunque estoy de acuerdo con el impulso general!): Las propiedades implementadas automáticamente son parte de C# 3.0, no de .NET 3.0. Vale la pena ser claro acerca de la diferencia entre el lenguaje y el marco. –
Sí. Como usuario de VB.net, me entristece que no obtengamos golosinas como esta. –
Sé que este es un hilo viejo, pero quiero agregar esto para los usuarios que vinieron aquí desde los motores de búsqueda (como yo): A partir de .NET 4.0, VB.NET también admite propiedades implementadas automáticamente: http: // msdn.microsoft.com/en-us/library/dd293589.aspx – Nullius