2014-02-28 1 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 키워드를 사용할 수 있습니까? 사실입니까? 을 classEmployee에 사용하는 다른 방법이 있습니까?이 상황에서이 상황에서`정적`키워드를 사용할 수 있습니까?

+0

System.Threading.ReaderWriterLock처럼 구성 또는 사용 이 인스턴스? – Belogix

+0

Position은 항목을 추가 할 수 있기 때문에. enum을 사용할 때 가능합니까? – Jeyhun

+0

물론, 나는 당신의 접근 방식이 최선인지를보기 위해 노력하고 있습니다. 예를 들어 현실 세계에서 데이터베이스를 사용하고 있습니까? 아니면 순전히 가상의 질문입니까? – Belogix

답변

0

정적 사용이 좋습니다. 난 단지 스레드 안전에 대한주의 한 : 당신의 ppp 모음이 읽기 전용 인 경우

  1. , 당신은 배열을 대신 사용하거나 readonly 키워드로 컬렉션을 표시해야합니다. 당신이 스레드 안전을 고려하고 만들어야합니다 컬렉션에 새로운 항목을 추가하려는 경우 당신이`List` 아닌`Enum`에서 사용하는 이유는
  2. 는 일부 동기화는 스레드로부터 안전 수집을 System.Collections.Concurrent.BlockingCollection<T>
+0

아니요, 'ppp'는 '읽기 전용'이 아닙니다. 그리고 나는 '실'을 알지 않으며 propably 나는 배워야 만합니다. – Jeyhun

+0

하나의 스레드 만 사용하는 경우 해결책은 정확합니다. – Aik

+0

Ok, 고맙습니다. ** Aik **. – Jeyhun

관련 문제