Actualmente tengo una solución con varios proyectos que en su mayoría usan las mismas clases. Como resultado, me pareció que sería una buena idea agregar una biblioteca de clase que contenga estas clases en la solución en lugar de repetir la clase en cada proyecto.C# Clases parciales
Sin embargo, un proyecto que tengo requiere algunas propiedades adicionales para algunas de las clases que son específicas de ese proyecto y no se usarán en ningún otro lado. Como resultado, pensé que debería usar clases parciales para agregar estas propiedades. Así que he hecho algo como esto:
En la biblioteca de clases:
namespace MyClassLibrary
{
public partial class Book
{
public string Title { get; set; }
public string AuthorLast { get; set; }
public string AuthorFirst { get; set; }
public string Publisher { get; set; }
public string Edition { get; set; }
public string ISBN10 { get; set; }
public string ISBN13 { get; set; }
}
}
En el proyecto (MiProyecto):
namespace MyClassLibrary
{
public partial class Book
{
public string AdditionalProperty { get; set; }
}
}
he referenciado MyClassLibrary en MiProyecto (AC# ventanas forman aplicación), sin embargo, cuando trato de usar esta clase en el código detrás del formulario, recibo el siguiente error:
class MyClassLibrary.Book
Warning: The type 'MyClassLibrary.Book' in 'C:... (Project)' conflicts with the imported type 'MyClassLibrary.Book' in 'C:... (Class Library DLL)'. Using the type defined in 'C:...(project)'.
¿Alguna idea de lo que estoy haciendo mal o si todo mi enfoque es malo y debería estar haciendo otra cosa?
¡gracias! Lo intentaré con una clase derivada ... ¡todavía nuevo en esto! – Andrew
uh ... no, esto se llama "herencia"! –
@Steven editado para mayor claridad –