우선, 천 번이 요청하면 사과드립니다. 나는 C# 서적을 읽었는데, 나는 그것을 봤지만 내가 찾고있는 답을 찾을 수없는 것 같아. 아니면 중요한 순간을 놓치고있다.C#에서 형식화 된 변수에 대한 포인터 : 인터페이스, 일반 개체 또는 클래스? (복싱/언 박싱)
저는 전체 권투/언 박싱 문제와 매우 혼동합니다. 모두 다른 유형의 입력란 (예 : 'double')을 반환하는 입력란이 있고이 입력란 중 하나에 변수 지점을 지정하고 싶습니다. 보통 오래된 CI에서 같은 일을 할 것입니다 :
이ChartPlotData(*newVar);
내가 포인터를 찾고 있어요 이유가 있기 때문입니다 :
double * newVar;
newVar = &oldVar;
newVar = &anotherVar;
...
나는 타이머 함수를 호출하고 참조 된 변수의 값을 전달해야 newVar는 런타임에 이벤트에 링크되어 변경됩니다.
public void checkbox_Clicked(object sender ...)
if (sender == checkbox1) value = &object1.field1;
if (sender == checkbox2) value = &object2.field1;
어떻게 C#에서이 작업을 수행 할 수 있습니까?
EDIT1 : 설명의 목적을 설명했습니다.
EDIT2 : 몇 가지 잘못된 문장을 작성하고 삭제 한 다음 질문을 짧게합니다.
이러한 참조의 목적은 무엇입니까? – Schultz9999
이 문장의 의미는 무엇입니까?"C#에서는 인터 프레이즈를 수행 할 수 있지만 모든 필드가 속성이어야하며 동일한 이름이 필요합니다. 속성 중 하나가 이름이 같지 않거나 속성이 아닐 때 분리됩니다." – Amy
개체를 강제로 인터페이스를 구현할 수는 있지만 이는 의미가없는 모든 개체에 공통된 속성을 만들어야한다는 것을 의미합니다. 예를 들어 'Car'클래스에는 'NrWheels'속성이 있고 'Boat'클래스에는 'NrPropellers'속성이 있습니다. 런타임에 Plot (NrRotatingDevices)을 호출하고 싶다면 'NrRotatingDevices'인터페이스를 만들 수 있지만이 인터페이스를 구현하거나 NrPropellers 및 NrWheels의 이름을 NrRotatingDevices로 바꾸려면 두 클래스를 모두 수정해야합니다. – PaulG