I was fiddling around a bit with a fluent interface for validating method-arguments, it looks kind of promising…
Public Class Foo
Public Sub New(ByVal bar As String, ByVal baz As Integer)
Ensure.ThatArgument(bar).IsNotNull()
Ensure.ThatArgument(baz).IsInRange(1, 10)
' The argument can be named to for better exception messages...
Ensure.ThatArgument(bar).Named("bar").IsNotNull()
Ensure.ThatArgument(baz).Named("baz").IsInRange(1, 10)
End Sub
End Class
Using generics also makes the intellisense really helpful, for example the “IsInRange”-validation only shows up for IComparable(T)-types.
No comments:
Post a Comment