为此,我可以在这种情况下使用`Static`关键字吗?

时间:2014-02-28 10:11:39

标签: c# oop collections properties static

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 class中使用Employee

1 个答案:

答案 0 :(得分:0)

静电的使用很好。我只注意线程安全性:

  1. 如果您的ppp集合是只读的,则应使用数组,或者使用readonly关键字标记集合。
  2. 如果要在集合中添加新项目,则应考虑线程安全性并创建一些同步构造,如System.Threading.ReaderWriterLock或使用线程安全集合System.Collections.Concurrent.BlockingCollection<T>