일부 코드를 C#에서 Java로 변환하는 중입니다. 나는 전에 C#을 사용 해본 적이 없지만, 지금까지는 꽤 쉬웠다.C# 대리인 Java 변환
내가 가지고있는 C#을 파일에 다음과 같습니다 라인 :
coverage.createMethod = delegate (Gridpoint gp){
//Some method stuff in here, with a return objecct
}
정확히 이것이 어떻게하려고? 그것은 인라인 클래스처럼 조금 보이지만 나는 자바에
편집 htis를 변환하는 방법에 대한 이동하는 방법을 잘 모르겠습니다 : 내가
다음 한 STKDriver.java라는 파일에서 특정 문제에 더
public DClass(Class class1, String string, Class<CoverageGridPoint> class2{}
.
.
.
public IServiceProvider invoke(CoverageGridPoint gridPoint){
return something; //of the classtype Platform
}
이 올바르게 수행됩니다 나는 다음과 같은 한 CreateCoverageGridPointForAccess를 확장 채우기 DClass.java에서는
CoverageDefinitionOnCentralBody coverage = new CoverageDefinitionOnCentralBody(...);
.
.
.
DClass value = new DClass(STKDriver.class, "invoke", CoverageGrid.class);
coverage.setGridPointCreationMethod(value);
? 클래스 CreateCoverageGridPointForAccess 추상적 인
공지 있고 Delegate 클래스 것으로 확장 : 클래스 정의는 여기에 연결되어 있습니다.
내가 만든이 구현이 올바른 모양입니까? 필요한 경우 더 많은 코드를 쓸 수 있습니다.
메서드가 개체를 반환하기 때문에 형식을 캐스팅해야합니까? coverage.createMethod는 델리게이트입니다. – Derek
'coverage'객체는 나중에 그 델리게이트를 실행할 것입니다. 그래서 우리는 객체를 createMethod에 할당하지 않고 나중에 실행할 메소드를 지정합니다. – Tejs
나는이 자료를 보면서 많은 사람들이 추천 해 줄 것을 권하고 싶다 : http://onjava.com/pub/a/onjava/2003/05/21/delegates.html – Tejs