나는 Lokad Shared Libraries을 시험해보고 있으며 매우 흥미롭고 유용합니다. 예를 들면 다음과 같습니다 :C#, Lokad.Shared : Enforce와 함께 사용할 사용자 지정 규칙을 작성하는 방법
Enforce.Arguments(() => arg1,() => arg2);
arg1 또는 arg2가 null 인 경우 예외를 throw 할 수 있습니다. 하지만 IEnumerable에 적어도 하나 이상의 항목이 있는지 확인하고 싶습니다. 다음과 같이 사용할 수 있습니다 :
Enforce.That(someSequence.Count() > 0);
그러나 매우 유용한 오류 메시지가 생성되지는 않습니다. 필자는 샘플 코드 등을보고 사용자 정의 규칙을 작성하고 사용하는 방법을 알아 내려고 노력했습니다. 그러나 나는 단지 그것을 이해하는 것처럼 보일 수 없다! 내가 여기까지 온
(또는 짧은 ... 더 정확하게는 ...). 나는 내 규칙을 수집하는 클래스를 만들어야합니다
- 나는 어떻게 든을 필요가 있다고 생각
Lokad.Rules.Rule<T>
대리인을 만드시겠습니까? 아마도 그 무엇이든 IScope, 뭔가를 할 필요가 - .... 내가 아주 확실하지 않지만
- 그 다음은 어떻게 든 적용 방법 중 하나를 사용하여 해당 규칙을 사용하는 방법 ...
public static void DoStuff<T>(this IEnumerable<T> subjects)
{
Enforce.Argument(() => subjects);
// Somehow in an equally smooth way check that
// subjects contains at least one element
// Do stuff
}
사람 :
그래서 이것이 내가 끝낼 할 것입니다, 정리해?
나 ' 로카드에 대해 들어 본적이 없어요.이 전에 쉐어. +1 흥미로운 신기술! –
그래, 이제 막 사용하기 시작했지만이 Rinat Abdullin 사람의 RSS 피드를 따라 왔습니다. 흥미로운 것들이 많이 있습니다. Express 및 Reflect 수업과 마찬가지입니다. – Svish
여기에서 동일합니다. 나는 당신이 속성 이름을 제공 할 필요가없는 Guard 문을 작성하려고 할 때 찾아왔다. 정말이 작품을 파고. –