나는 다음을 수행하려고 ...체인 IF 조건 및 첫 번째 조건 실행. C#에서
MyObject.If(x => x.ID == 10, new MyAction("ID10")).If(x => x.Value < 20, new MyAction("Value20")).DoSomethingWithMyAction();
MyObject를 내가 확인해야 할 몇 가지 속성을 가진 객체입니다
DoSomethingWithMyAction은()와 함께 무언가를 시켜라 확장 기능입니다 실패한 첫 번째 조건의 MyAction.
뭔가처럼 될 수 있다면 :
이public static If<T>(this T myobject, Func<T, Boolean> predicate, MyAction action) where T : MyObject {
if (predicate(myobject)
// Return ??? >> Move to Next If
else
// Return action
} // If
그런 다음 DoSomethingWithMyAction (가) 단순히 시켜라 확장 될 것이다.
내 문제는 다음과 같습니다. 1 - IFs 연결 방법; 2 - DoSomethingWithMyAction()을 만드는 방법은 첫 번째 IF의 MyAction을 사용하여 실패합니다. 내가 질문을 오해 것, 그리고 지금 내 코드를 다시 방문 할 시간이 없어 :
는 미구엘에게,
당신이하려는 것은 관용적이지 않습니다. 그것은 유지할 수없는 것을 경계하고 있습니다. if/else 블록은 이보다 훨씬 쉽게 유지 보수 될 것입니다. – 48klocs