C#クラスライブラリを作成しました。その中に2つのクラスを挿入します。例えば:
Apple.cs Orange.cs
namespace FoodLibrary
{
namespace Apples
{
public class Apples
{
public string type { get; set; }
public string colour { get; set; }
public string size { get; set; }
}
}
}
Orange.csではほぼ同じものが形成されます(名前空間AppleとクラスAppleは「Orange」に変換されます)。
編集(これが要求されたOrange.csです):
namespace FoodLibrary
{
namespace Orange
{
class Orange
{
public string colour { get; set; }
public string type { get; set; }
public string size { get; set; }
}
}
}
任意の組み合わせをビルド/再ビルドした後、デバッグフォルダに.dllを取得します。このDLLを参照すると、1つの名前空間/クラス(つまりApple)にしかアクセスできないようです。これにより、クラスライブラリで作成した最初のクラスにアクセスできます。クラスをいくつ作成しても、DLLには1つしかありません。
私は同じ結果を出しました:
Visual Studios 2010 Visual Studios Express 2008(C#)
補足:機能する1つのクラスを更新する(つまり、新しいプロパティを追加する)と、ビルド時にDLLが変更されます。「clear」、「rebuild」、「build」を試しました。
編集:明らかに私はばかで、オレンジが公開されていないことに気づいていませんでした。私がそれを変更すると、それは機能しました。新しいプロジェクトによって生成されたクラスが「パブリック」である理由はよくわかりませんが、新しいクラスを追加する場合はそうではありません。その逆も同様です。
皆さんの提案に感謝します。