私は現在、ほとんど同じクラスを使用する複数のプロジェクトのソリューションを持っています。その結果、各プロジェクトでクラスを繰り返すのではなく、これらのクラスを含むクラス ライブラリをソリューションに追加することをお勧めします。
ただし、私が持っている 1 つのプロジェクトでは、そのプロジェクトに固有であり、他の場所では使用されない一部のクラスにいくつかの追加プロパティが必要です。その結果、これらのプロパティを追加するには、部分クラスを使用する必要があると考えました。だから私はこのようなことをしました:
クラス ライブラリで:
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; }
}
}
プロジェクト (MyProject) で:
namespace MyClassLibrary
{
public partial class Book
{
public string AdditionalProperty { get; set; }
}
}
MyProject (C# Windows フォーム アプリ) で MyClassLibrary を参照しましたが、フォームの分離コードでこのクラスを使用しようとすると、次のエラーが表示されます。
クラス MyClassLibrary.Book
警告: 'C:... (プロジェクト)' の型 'MyClassLibrary.Book' は、'C:... (クラス ライブラリ DLL)' のインポートされた型 'MyClassLibrary.Book' と競合します。「C:...(プロジェクト)」で定義されたタイプを使用します。
私が間違っていること、または私のアプローチ全体が悪く、何か他のことをすべきかどうか、何か考えはありますか?