메서드 표시를 허용하는 유창한 스타일의 API를 만들려고합니다. 내가 달성하고자하는 것은이 (잘못된) 코드 샘플로 설명한 기능 할 수 있습니다메서드 그룹을 허용하는 유창한 API 메서드 만들기
public class SampleBuilder
{
public void Method<T>(Expression<Func<T, Delegate>> func) { }
// for the sake of this example this method doesn't have a return value
}
public class Sample
{
public void SomeMethod(int some, int arbitrary, int agruments) { }
}
public class SampleConfig
{
public void Config()
{
new SampleBuilder().Method<Sample>(x => x.SomeMethod);
}
}
문제는 분명히 컴파일러 x.SomeMethod
이 방법 그룹을 의미 불평. 내 API는 실제 인스턴스 또는 실제 메소드 서명을 추정 할 수 없습니다. 이것은 런타임에 결정됩니다.
사용자가 방법 그룹을 지정할 수있게 해주는 사용하기 쉬운 API를 제공하려면 어떻게해야할까요?
배경 : 결과 사용은 다음과 같이 될 것입니다 :
config.Transition().From(v1def, v1 => v1.ExitMethod).To(v2def, v2 => v2.EntryMethod);
경우 To()
및 From()
이 전망과 항목/종료 방법의 정의에 동의합니다. 위의 특정 샘플에서 v1def
은 뷰 정의 클래스를 나타내며 v1
은 실제 뷰 클래스를 나타냅니다. 마지막 날에 새로운 전환이 생성되고 config
에 추가됩니다. 방법의