DataAccess 계층에 SQL에 LINQ를 사용하고 있습니다. 데이터 액세스 계층에있는 것과 유사한 비즈니스 개체가 있습니다.액세스 한정자 - 비즈니스 개체의 속성 - 가져 오기 및 설정
데이터 제공 업체가 메시지 23 번을 받고 있습니다. 메시지 생성자에서 메시지를 인스턴스화하면 MessageType을 가져 와서 MessageType 클래스의 새 인스턴스를 만들고 데이터베이스의 MessageType 정보를 채 웁니다.
따라서; 이 메시지의 MessageType 이름을 얻길 원합니다.
user.Messages[23].MessageType.Name
는 또한 관리자가 메세지 유형
user.Messages[23].MessageType = MessageTypes.LoadType(3);
을 설정하고자하지만 사용자가 공개적으로 MessageType.Name을 설정하지 않습니다. 그러나 새 MessageType 인스턴스를 만들 때 외부 클래스 (내 데이터 액세스 계층)에서 설정하기 때문에 Name 속성의 액세스 한정자는 public입니다.
내 속성을 내부 변수로 변경할 수 있으므로 내 클래스는 공용 변수처럼 액세스하고 다른 응용 프로그램 액세스는 수정할 수 없습니다.
이것은 여전히 공공 재산처럼 보이는 것처럼 느껴지지 않습니다. 이 상황에서 공용 액세스 한정자가 잘못 되었습니까? 팁이나 제안을 보내 주시면 감사하겠습니다.
감사합니다. 그게 당신이 찾고있는 경우
public MessageType MessageType
{
get { return this._messageType; }
internal set { this._messageType = value; }
}
을, 그러나 당신이 원하는 것을 조금 불분명 :