2014-02-28 47 views
0
class Position 
    { 
     internal static List<string> ppp = new List<string>() `// ?` 
     { 
     "Boss", 
     "Servant", 
     "Engineer", 
     }; 
    } 

class Employee 
    { 
    string position; 
    public string Position 
    { 
     get { return position; } 
     private set 
     { 
      if (Position.ppp.Contains(value)) { position = value; } 
      else { position = null; } 
     } 
    } 

嗨。 我可以在这种情况下使用Static关键字吗?这是真的吗? 我还有另外一种方法在ppp中使用classEmployee我可以在这种情况下使用`Static`关键字吗?

+0

这个例子? – Belogix

+0

由于职位可以添加项目。当我使用枚举时可能吗? – Jeyhun

+0

当然,我只是想看看你的方法是否最好。例如,在现实世界中,您是否在使用数据库?或者这是一个纯粹的假设问题? – Belogix

回答

0

使用静态是好的。我只注意到有关线程安全:

  1. 如果您ppp集合为只读,你应该使用数组或标记收集与readonly关键字。
  2. 如果你想添加新项目到集合中,你应该考虑线程安全和创建你为什么要使用`List`而不是`Enum`在某些同步构造像System.Threading.ReaderWriterLock或使用线程安全集合System.Collections.Concurrent.BlockingCollection<T>
+0

不,'ppp'不是'只读'。而且我不知道'线程',并且我很有必要学习。 – Jeyhun

+0

如果您只使用一个线程,您的解决方案是正确的 – Aik

+0

好的,非常感谢**艾克**。 – Jeyhun

相关问题