私はライブラリを持っています。この例で列挙型でオブジェクトを作成する必要がないのはなぜですか?
namespace Defintnions
{
public class skywave
{
public enum partnum : byte { assembled, configured };
public readonly string partnum_assembled = "1234B";
}
}
私は同じソリューションでこの他のプロジェクトでテストしています。
using Defintnions;
namespace ConsoleApplication1
{
class MainEntry
{
static void Main(string[] args)
{
string test3 = skywave.partnum.Assembled.ToString(); //assembled
string zxcv = skywave.partnumAssembled; //doesnt compile
skywave obj = new skywave();
string asdf = obj.partnumAssembled; //1234B
Console.WriteLine(test3);
Console.WriteLine(asdf);
Console.ReadKey(true);
}
}
}
test3
がローカルenum
オブジェクトの作成を必要としない、なぜ私は混乱しています。
私はそれが非常にきれいだと思います。これは、何か似たようなことがあるかどうか疑問に思っていますが、代わりにenum
の出力を英数字にしてください。
理想的には、ライブラリを次のようにすることができますが、最初にオブジェクトを作成するという面倒を避けてください。
string zxcv = skywave.partnum.assembled; //1234B
'enum'型のフィールドではなく、クラスに' enum'型を定義しています。 – juharr