개체 이니셜 라이저를 사용하여 개인 설정터 설정
-
11-12-2019 - |
문제
객체 이니셜 라이저를 사용하여 개인 속성을 소유 한 클래스 내에서 이니셜 라이저가 호출 될 때 개인 세트 자동 속성을 설정할 수 있습니까?나는 2 개의 클래스를 예로 포함 시켰습니다.
public class MyClass
{
public string myName { get; private set; }
public string myId { get; set; }
public static MyClass GetSampleObject()
{
MyClass mc = new MyClass
{
myName = "Whatever", // <- works
myId = "1234"
};
return mc;
}
}
public class MyOtherClass
{
public static MyClass GetSampleObject()
{
MyClass mc = new MyClass
{
myName = "Whatever", // <- fails
myId = "1234"
};
return mc;
}
}
. 해결책
세터의 private
수정 자 - 묶는 유형으로 비공개입니다.
즉, 속성은 포함 된 유형만으로 설정할 수 있습니다.
이것이 사실이 아니라면, 당신은 재산을 설정할 수 없으며 효과적으로 읽기 전용이 될 것입니다.
msdn - 개인 (C # 참조) :
개인 멤버는 클래스의 본문 또는 선언 된 구조체에서만 액세스 할 수 있습니다
다른 팁
개인이 속성을 소유 한 클래스 내에서 개인적인 의미가 있기 때문에
제휴하지 않습니다 StackOverflow