static 과 abstaract 는 같이 사용할 수 없는건가요?
조회수 622회
public abstract class AbstractDataInterface : Fragment, DataInterface
{
public abstract void SetHandler(int dest, Handler handler);
public abstract Handler GetHandler(int dest);
public abstract int SendMessage(Handler handler, int dest, int cmd, Object o);
}
이러한 클래스가 있고, 이 클래스를 상속받아서 플래그먼트에서
public class RD_TT_AIS_Fragment : AbstractDataInterface
{
public override Handler GetHandler(int dest)
{
return AbstractDataInterface._Handler[dest];
}
public class MyHandler : Handler
{
public override void HandleMessage(Message msg)
{
base.HandleMessage(msg);
_Handler = GetHandler(AbstractDataInterface.IDX_PROCS_DISP_DATA);
_Message = _Handler.ObtainMessage();
_Handler.SendEmptyMessageDelayed(0, 3000);
Console.WriteLine("+++++++++++++++++++++++++++++++ Menu - A : " + A.Checked);
Console.WriteLine("+++++++++++++++++++++++++++++++ Menu - B : " + B.SelectedItem);
Console.WriteLine("+++++++++++++++++++++++++++++++ Menu - C : " + C.Progress);
//handler.SendEmptyMessageDelayed(0, 200);
}
}
}
참조 ) 코드 전부를 올리지는 않았습니다, 이러한 정의를 내립니다. 문제는 안드로이드 스튜디오에서는 정상적으로 작동하지만, C#, 자마린에서는
" _Handler = GetHandler(AbstractDataInterface.IDX_PROCS_DISP_DATA);" 이부분이 GetHandler가 static으로 지정되어 있어야만 사용가능하다는 오류가 발생합니다. 어떻게 해결해야할까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
https://docs.microsoft.com/ko-kr/xamarin/android/internals/api-design 의 내부 클래스에 대한 설명을 보시면 이해가 되실 것 같습니다.
Non-static nested classes, also called inner classes, are significantly different. They contain an implicit reference to an instance of their enclosing type and cannot contain static members (among other differences outside the scope of this overview).
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력