Menghubungkan Rentetan dengan Enum dalam C#
Mencipta enum dengan nilai rentetan tidak disokong secara langsung dalam C# kerana sifat integer intrinsik enum. Walau bagaimanapun, terdapat beberapa pilihan alternatif untuk mencapai kefungsian yang serupa.
Sifat dalam Kelas:
Satu pendekatan ialah menggunakan sifat dalam kelas. Sifat menyerupai enum sambil memberikan fleksibiliti menggunakan nilai rentetan. Sebagai contoh, pertimbangkan kelas berikut:
public class LogCategory { private LogCategory(string value) { Value = value; } public string Value { get; private set; } public static LogCategory Trace { get { return new LogCategory("Trace"); } } public static LogCategory Debug { get { return new LogCategory("Debug"); } } ... }
Parameter Rentetan Jenis Selamat:
Pilihan lain ialah menghantar nilai rentetan selamat jenis sebagai parameter kepada kaedah. Ini memastikan kebolehbacaan dan keselamatan kod. Contohnya:
public static void Write(string message, LogCategory logCategory) { var log = new LogEntry { Message = message }; Logger.Write(log, logCategory.Value); }
Penggunaan:
Kedua-dua pendekatan membenarkan penggunaan intuitif dan boleh dibaca:
Logger.Write("This is almost like an enum.", LogCategory.Info);
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengaitkan String dengan Enum dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!