안녕하십니까?여러 유사한 방법으로 반복 코드 피하기 (C#)
저는 C#에서 매우 유사한 몇 가지 메소드 세트를 보유하고 있습니다. 그들은 모두에 내장 된 거의 동일한 패턴 :
ResultObjectType MethodX(...input parameters of various types...)
{
nesting preparation code here...
{
{
resultObject = ExternalClass.GetResultForMethodX(input parameters of MethodX);
}
}
nesting result processing code here ...
return resultObject;
}
반복/동일 부품 : ResultObjectType, 준비 코드, 결과 처리 코드.
다른 부분 : ExternalClass 메서드를 호출하여 입력 매개 변수 집합 (입력 매개 변수 개수, 유형)을 호출합니다.
중요 : 메소드 서명을 제어 할 수 없어 변경할 수 없습니다.
나는 이런 식으로 뭔가와 유사한 코드의 모든 블록을 반복하지 않도록 노력하고 있어요 : 지금까지 나는 단지 그것을 모든 매개 변수가 같은 알려진 유형이 경우이 방식으로 작동하도록 관리
ResultObjectType MethodX(...input parameters of various types...)
{
return UniversalMethod(
new ExternalMethodDelegate(ExternalClass.GetResultForMethodX),
input parameters of MethodX...);
}
ResultObjectType UniversalMethod (Delegate d, input parameters of various types...)
{
nesting preparation code...
{
{
resultObject =
(d as ExternalMethodDelegate)(same input parameters as above);
}
}
nesting result processing code...
return resultObject;
}
을 코딩 할 때. 일반 대리인과 함께이 문제를 해결하기위한 여러 시도가 있은 후에 나는 이것을 달성 할 수 없다고 생각하기 시작했습니다. 코드가 컴파일 되더라도 런타임에는 작동하지 않습니다. 어떤 사람? 도와 주셔서 미리 감사드립니다.
사전 처리 코드와 후 처리 코드가 정확히 동일하고 입력 매개 변수 주위에 어떤 계산을 수행합니까? 모든 메서드의 입력 매개 변수가 형식 및 순서가 동일합니까> – aqwert