Sık sık kendimi bir sıralama olarak bir tür kendi status özelliğini koruyan bir sınıf uygularken buluyorum: Durum numaram ve Durum türünde BİR Durum özelliğim var. Bu isim çatışmasını nasıl çözmeliyim?
public class Car
{
public enum Status
{
Off,
Starting,
Moving
};
Status status = Status.Off;
public Status Status // <===== Won't compile =====
{
get { return status; }
set { status = value; DoSomething(); }
}
}
Durum sıralaması farklı türlerde ortak olsaydı, onu sınıfın dışına koyardım ve sorun çözülürdü. Ancak Durum, Araba için geçerlidir, bu nedenle sıralamayı sınıfın dışında ilan etmek mantıklı değildir.
Bu durumda hangi adlandırma kuralını kullanıyorsunuz?
Not: Bu soru, bu sorunun cevabının yorumlarında kısmen tartışıldı . O değildi yana ana soru, çok daha görünürlük alamadım.
DÜZENLEME: Filip Ekberg, belirli 'Durum' durumu için mükemmel bir IMO çözümü öneriyor. Enum / mülkün adı Michael Prewecki en olduğu gibi, farklı olduğu Oysa ben çözümlerini okumak için ilginç olurdu cevap .
DÜZENLEME2 (Mayıs 2010): Benim favori çözümüm, Chris S. tarafından önerildiği gibi, numaralandırma türü adını çoğul hale getirmektir. MS yönergelerine göre, bu yalnızca bayrak numaralandırmaları için kullanılmalıdır. Ama ben bundan daha çok hoşlanmaya başladım. Şimdi bunu normal numaralandırmalar için de kullanıyorum.