Tôi hiện đang có một giải pháp với nhiều dự án chủ yếu sử dụng cùng một lớp. Kết quả là, nó xuất hiện với tôi rằng nó sẽ là một ý tưởng tốt để thêm một thư viện lớp có chứa các lớp này trong giải pháp thay vì lặp lại lớp trong mỗi dự án.C# Các lớp học một phần
Tuy nhiên, một dự án tôi yêu cầu một vài thuộc tính bổ sung cho một số lớp học cụ thể cho dự án đó và sẽ không được sử dụng ở bất kỳ nơi nào khác. Kết quả là, tôi nghĩ rằng tôi nên sử dụng các lớp học một phần để thêm các thuộc tính này. Vì vậy, tôi đã làm một cái gì đó như thế này:
Trong thư viện lớp:
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; }
}
}
Trong dự án (MyProject):
namespace MyClassLibrary
{
public partial class Book
{
public string AdditionalProperty { get; set; }
}
}
Tôi đã tham chiếu MyClassLibrary trong MyProject (C# cửa sổ hình ứng dụng), tuy nhiên khi tôi cố gắng sử dụng lớp này trong codebehind cho biểu mẫu tôi nhận được lỗi sau:
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)'.
Bất kỳ ý tưởng nào tôi đang làm sai hoặc nếu toàn bộ cách tiếp cận của tôi là xấu và tôi nên làm điều gì đó khác?
cảm ơn! Tôi sẽ thử nó với một lớp học có nguồn gốc ... vẫn còn mới ở đây! – Andrew
uh ... không, đây được gọi là "kế thừa"! –
@Steven chỉnh sửa cho rõ ràng –