강제로이 키워드를 ref 인수로 사용하는 방법이 있습니까? 개체의 여러 속성을 수정하는 방문자를 전달하고 싶습니다. 그러나 이것은 값 매개 변수처럼 작동하기를 원합니다. 객체에이 키워드에 ref 매개 변수를 사용 하시겠습니까?
코드 : 방문자의
public void Accept(Visitor<MyObject> visitor)
{
visitor.Visit(this);
}
코드 :
public void Visit(ref Visitor<MyObject> receiver)
{
receiver.Property = new PropertyValue();
receiver.Property2 = new PropertyValue();
}
네, 맞습니다. 하지만 원래 클래스가 방문자가 변경 한 내용을 유지하기를 원합니다. ref로 전달하지 않으면의 * copy * 속성 만 수정하면됩니까? –
grefly
@grefly : "this"가 클래스가 아닌 경우. 사용자 정의 struct (값 유형)를 "방문"하지 않으면 ref는 필요하지 않습니다. –
감사합니다, 당신이 맞습니다! – grefly