버그 해결을 위한 모든 질문을 던져
0 votes
217 views
c#에서 Get Set시 const 붙일 수 없나요? 함수 인자에도 붙이고 싶은데 const 제약이 좀 많네요

일단 당면한 고민은 c++처럼 아래와 같이 명시적으로 가져다 쓰되 변경은 하지마라라는 형태로 사용하고 싶은데

const long GetUserID() const
{
    return m_UserID;
}

c#은 const를 못쓰니 그냥 public로 풀어 놓는거랑 큰 차이가 없어서 걱정입니다.

그냥 뭔가 자유분방? 하게 중요 변수들을 건들 수 있는 상황은 막고 싶은데 방법이 없을 까요?

 
지금 생각은 변수를 private로 막고 접근 할 때는 c++ 스타일 대로 get set 함수를 별도로 구현 한 다음 가져올때 복사를 수행 해버리게 하는 방법을 생각중엔데 이것 말고 다른 방법이 없을까요?

이러면 c++스타일이랑 별반 차이가 없을거 같기도 하고 -_-;; 뭔가 c#만의 엘레강스한 스타일이..
asked (7 point)
수정됨 , 217 views

1 답변

+2 votes
우수 답변
방법1:

public long m_UserID {get;private set;}

 

방법2: (초기화시에만 대입 가능, 클래스 생성 이후에도 내부에서 변경 불가)

public readonly long m_UserID;

public 클래스생성자(long userID)

{

    m_UserID = userID;

}
answered (170 point)
선택됨
오 감사합니다 이런 방법이 있군요 한번 써먹어 보겠습니다. 뭔가 방법1이 깔끔해 보이기도... 킁
방법1 추천 (get, set)

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

110 질문
204 answers
219 댓글
230 users